2013-03-20 8 views
0

이유는이 프로그램의 출력 main 함수 호출 size(arr가), 즉 size 기능에 arr[SIZE]main 기능에 주소 arr를 할당 의미합니까 무엇 hanppen 4왜이 C 프로그램 출력 4?

#define SIZE 10 
void size(int arr[SIZE]) 
{ 
    printf("size of array is:%d\n",sizeof(arr)); 
} 

int main() 
{ 
     int arr[SIZE]; 
     size(arr); 
     return 0; 
} 

?

누군가가이를 해석 할 수 있습니까?

답변

1

내부 기능 arr은 포인터입니다. 포인터는 4 바이트를 차지합니다. sizeof은 인수로 전달 된 변수의 크기를 바이트 단위로 반환합니다. 그래서 이유가 있습니다.