Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C의 포인터 대 배열

<시간/>

포인터와 배열은 대부분 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.