2011-08-16 6 views

답변

10

포인터를 다시 할당 할 수 있습니다. 배열을 다시 할당 할 수 없습니다.

sizeof(ptr) == size of a pointer, usually 4 or 8 
sizeof(arr) == number of characters + 1 for null terminator 
+0

+1 이것은 주어진 질문에 대한 더 적절한 대답이라고 생각합니다. – Chad

5

먼저 포인터입니다 : 다른 사람들이 말했듯이 또한

const char* ptr = "Hello World!"; 
const char arr[] = "Hello World!"; 

ptr = "Goodbye"; // okay 
arr = "Goodbye"; // illegal 

.
두 번째는 배열입니다.

시스템의 모든 포인터의 크기는 동일합니다.
두 번째 선언의 배열 크기는 문자열 리터럴에 \0을 더한 크기와 같습니다.

첫 번째 포인터가 같은 유형의 다른 변수를 가리킬 수 있습니다.
배열을 재 할당 할 수 없습니다.

2

첫 번째 포인터는 sizeof(myVar) == sizeof(void*)입니다. 그것은 상수가 아니므로 수정할 수 있습니다 : myVar++.

두 번째 줄은 sizeof(myVar) == 13입니다.