언어/기타
2006.09.07 06:36

포인터변수.

조회 수 1097 추천 수 3 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

◇ 포인터 ◇
*** 포인터 변수란 『 변수를 가리키는 변수 』, 변수를 가리킨다는 것은 그 어드레스를 기억하는 것을 의미한다.
*** int형의 변수를 가리키는 포인터 변수 ptr은 다음과 같이 선언한다.
int * ptr; // ptr은 이 아닌, 이라고 선언하기 위한 지정자
*** 포인터 변수에 * 연산자를 붙이면 그 포인터 변수가 가리키는 변수의 실제 내용(* 연산자는 포인터에만 적용할 수 있다).
*** *연산자는 포인터 변수가 가리키고 있는 변수를 간접적으로 액세스하기 위한 연산자이기 때 문에 간접 연산자라 한다.
int x;
int *ptr; // ptr이 포인터 변수라는 것과 *ptr은 int형이라는 두 가지를 함께 생각
int z[10];
int * p;
p = &z[0]; // 배열에 & 연산자를 붙인 것이 아니고, 배열의 한 요소에 & 연산자를 적용한 것
*** C언어에서는 함수의 호출을 값에 의한 호출로 수행한다. 호출하는 쪽은 실인자로 값을 넘겨주 고 호출되는 쪽은 형식인자로 받은 값의 복사본을 사용한다.
#include
void swap(int * x, int * y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
main()
{
int a = 5, b = 3;
swap(&a, &b);
printf("a = %d, b = %dn",a,b);
return 0;
}
출력
a = 3, b = 5
*** swap함수처럼 2개 이상의 값을 돌려주고 싶을 때는 반드시 포인터를 사용해야 한다.
int i;
scanf("%d",&i);
※ C언어에서는 값에 의한 호출만을 사용하므로 『 인자의 값을 변경할 때에는 포인터형을 사 용하여 주고 받음을 해야하기 』 때문에 &를 붙이지 않으면 안된다.
◇ 포인터와 배열 ◇
ⓛ void func(int a[10]) 󰠜󰠜󰌊 ※ 컴파일될 때 어느 것이든, a는 int의 포인터로 해석된다
*** 일반적으로 포인터 변수 ptr에 대해서 ptr + i는 ptr이 가리키고 있는 요소의 i개 뒤의 요소를 가리키고 ptr - i 는 ptr이 가리키고 있는 요소의 i개 앞의 요소를 가리킨다. 
*** *는 그 포인터 변수가 가리키는 변수의 실제 내용을 나타내는 연산자이기 때문에 *(ptr + 1) 은 a[1]의 다른 명칭이 된다.
※ 󰠆󰠏 a[0]과 *ptr은 같은 내용.
󰠐 a[2]와 *(ptr + 2)는 같은 내용.
󰠌󰠏 a[9]와 *(ptr + 9)는 같은 내용.
※ ptr + i 는 a[i]의 어드레스이고 *(ptr + i)는 a[i]의 다른 명칭이 된다.
※ 󰠆󰠏 배열 a[n]에 대하여 a[i]를 *(a + i)라고 쓸 수 있다(&a[i]는 a + i).
󰠌󰠏 포인터 p에 대하여 *(p + i)를 p[i]라고 쓸 수 있다.


 


 


====================================================================================


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

?

  1. 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법

    Date2018.01.02 CategoryRPG Maker Byzero? Views644
    Read More
  2. [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집

    Date2017.07.14 Category언어/기타 By황금상자 Views702
    Read More
  3. rpg vxa 로 겜만들때 데미지 설정 공식[링크]

    Date2017.06.08 CategoryRPG Maker By준E Views740
    Read More
  4. [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템

    Date2017.03.31 CategoryRPG Maker By준E Views2019
    Read More
  5. JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기

    Date2016.12.24 Category언어/기타 Bytitle: 댓글러lklslel Views851
    Read More
  6. 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요

    Date2016.11.08 Category언어/기타 By마나님이 Views908
    Read More
  7. RPG MV에서 플러그인 오류의 원인에 대하여

    Date2016.07.08 CategoryRPG Maker Bytitle: 댓글러lklslel Views2359
    Read More
  8. RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME)

    Date2016.07.08 CategoryRPG Maker By최저 Views1627
    Read More
  9. 게임의 버전을 짜 보자! - 유의적 버전 2.0.0

    Date2016.06.07 Category언어/기타 ByYanggaeng Views1123
    Read More
  10. 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다!

    Date2016.03.12 CategoryRPG Maker By정궈니 Views2938
    Read More
  11. rpgmv 마우스 지원과 터치 지원이 되니.

    Date2015.10.25 CategoryRPG Maker By팡소리 Views1011
    Read More
  12. RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상.

    Date2015.10.25 CategoryRPG Maker ByHT9MAN Views2246
    Read More
  13. RPG게임 뻔한요소들.

    Date2015.10.05 Category언어/기타 Bytitle: 천무천무 Views1644
    Read More
  14. 자바스크립트와 관련해서 참고할 만한 사이트들

    Date2015.10.04 Category언어/기타 ByMARCO Views921
    Read More
  15. 꿀잼이군요!

    Date2015.05.20 Category언어/기타 By사람님[대회참가] Views873
    Read More
  16. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.06 CategoryRPG Maker Bytitle: 자게이하앵 Views1833
    Read More
  17. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.05 CategoryRPG Maker Bytitle: 자게이하앵 Views748
    Read More
  18. [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계

    Date2015.04.02 Category언어/기타 Bytitle: 천무천무 Views636
    Read More
  19. 오다 주웠습니다.

    Date2015.03.30 Category언어/기타 By사람님[대회참가] Views917
    Read More
  20. 무료 이미지 사이트 Pixabay!

    Date2015.03.28 Category언어/기타 By나작소 Views909
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)