티스토리 뷰

* 포인터와 배열


- 배열 이름을 기준으로 인덱스만큼 더하면 요소 자료형 개수만큼 이동  --> 2차원 배열

- 배열을 포인터 변수로 받을땐

> int *변수명 = aList;      //aList는 배열명


ex)

#include <stdio.h>

int main(void)
{

 int aList[5] = { 0 };

 int *paList = aList;

 //paList + 1;               // 기준주소 + 정수(옵셋) ==> 상대주소
 //*(paList + 1);             // int형 변수로 지-정 된다

 

 *(paList + 1) = 50;         // 아래 세 라인이 가리키는 요소는 동일하다.
 paList[1] = 500;            // 두번째 요소에 50, 500,500을 집어넣게된다.

 aList[1] = 5000;



 printf("%p\n", aList);        // 2개가 같은 주소를 가리킴
 printf("%p\n", &*paList);  // 배열 aList의 첫 시작주소, 주소를 받는 포인터변수 paList의 주소


 printf("%p\n", aList+1);    // 4개가 같은 주소를 가리킴
 printf("%p\n", &aList[1]);  // 배열 aList 두번째 요소의 주소

 printf("%p\n", &*(paList+1));  // 주소를 받는 포인터변수 paList의 주소에서 int +1 만큼 이동한 주소
 printf("%p\n", &paList[1]);


 return 0;

}


---------------------------------------------------

0019FEE4
0019FEE4


0019FEE8
0019FEE8
0019FEE8
0019FEE8

---------------------------------------------------


*


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함