포인터와 배열

Tkdyun·2024년 2월 27일

C++

목록 보기
2/2

char str[] / char *str

배열과 포인터는 완전히 다르다.

배열은 char 형 변수를 저장할 수 있는 메모리 상의 공간을 대표하는 이름으로 str 을 사용하는 것

포인터포인터 변수인 str를 저장할 공간이 따로 있으며, 이 변수의 공간이 NULL 이든 특정한 문자의 주소를 가리키든 배열을 가리키든, 할당된 메모리 공간을 가리킬 수 있고 접근해 값을 변경할 수도 있다.
-> 동적으로 할당된 배열처럼 사용할 수도 있다.

int num = 10;
int *a = new int[num];

즉, int *p 로 선언된 포인터 변수에서
p 는 할당된 메모리 주소값을 저장할 수 있도록
메모리 공간을 할당받고, 그 공간을 대표하는 이름이다.
*p 는 그 공간에 저장되어 있는 메모리 주소값이 가리키는 이다.
&p 는 p가 할당받은 메모리 공간의 주소이다. p의 주소


profile
"Hello World"

0개의 댓글