포인터와 배열은 대부분 c에서 동일하게 취급됩니다. 몇 가지 차이점은 다음과 같습니다.
연산자(&O):
-
&pointer =포인터의 주소를 반환합니다.
-
&array =첫 번째 요소의 주소를 반환합니다.
sizeof 연산자:
-
sizeof(array) =배열의 모든 요소가 소비한 총 메모리를 반환합니다.
-
sizeof(pointer) =포인터 변수 자체에 의해 소비된 유일한 메모리를 반환합니다.
배열 변수는 값을 재할당할 수 없지만 포인터 변수는 재할당할 수 있습니다.
선언:
int a[]; //array Int *p; //pointer
정수 포인터 변수가 있다고 가정해 봅시다.
int *i;
이제 다음 과제의 결과를 살펴보겠습니다.
a = &i; //illegal assignment. a variable can not be updated or modified. p = &i; //legal assignment.