2013-03-20 97 views
0

爲什麼這個節目輸出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; 
} 

時調用size(arr)在main功能,是否意味着什麼hanppen,在main功能在size功能分配地址arrarr[SIZE]

有人可以解釋這個嗎?

回答

1

函數內部arr是一個指針。一個指針需要4個字節。 sizeof返回作爲參數傳遞的變量大小(以字節爲單位)。這就是爲什麼。