Programming/C++
[c] Pointer & Array
OKOK
2017. 5. 14. 11:36
#include<stdio.h> int main(void) { int a[5] = { 0,1,2,3,4 }; printf("%d, %d\n", a[0], a[1]); printf("%d, %d\n", &a[0], &a[1]); printf("Array name: %d\n", a); return 0; } |
* a 라는 어레이를 선언하고 초기화 할때 머리속에서 메모리 구간 만들기
총 4열을 만든다. 1열은 이름, 2열은 메모리 주소, 3열은 메모리 블럭 갯수, 4열은 값을 그린다.
* 배열의 이름은 첫 번째 요소의 주소 값을 나타낸다.
* a 라는 단어를 나타내려면 어떻게 해야하지 방법이 없나?
#include<stdio.h> int main(void) { int a[5] = { 0,1,2,3,4 }; int *ptr; ptr = a; printf("%d %d %d %d %d\n", ptr[0], ptr[1], ptr[2], ptr[3], ptr[4]); return 0; } |
* 어레이, 포인터 선언 후 포인터 값에 어레이 주소를 대입한다 ( 포인터와 어레이는 둘다 메모리 주소값을 저장하는 요소이다.) 그러면 바로 포인터도 그 어레이의 모습을 그대로 갖춘다. 따라서 첨자형식으로 출력이 바로 가능하다.