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;

}


* 어레이, 포인터 선언 후 포인터 값에 어레이 주소를 대입한다 ( 포인터와 어레이는 둘다 메모리 주소값을 저장하는 요소이다.) 그러면 바로 포인터도 그 어레이의 모습을 그대로 갖춘다. 따라서 첨자형식으로 출력이 바로 가능하다.