char c[] = {'a','b','c'};
int* p = &c[0];
printf("%i\n", sizeof(*p)); //Prints out 4
printf("%i\n", sizeof(*c)); //Prints out 1
이 코드 섹션에 대해 매우 혼란 스럽습니다. p와 c는 모두 0 번째 색인에있는 배열 c의 주소를 나타냅니다. 그런데 왜 sizeof (* p)가 4를 인쇄합니까? 1이 아니어야합니까?C - SizeOf 포인터
구현 (* cough * Microsoft * cough *)이 ""% zu "'를 지원하지 않으면'int'로 변환하고''% d"'또는' "% i"'를 사용하십시오. –
@KeithThompson 예 :) (MS는 심각하게 XXI 세기에 살고 C99 이상을 지원해야합니다.) –
또는 '부호없는 long'으로 변환하고''% lu "'를 사용하십시오 –