相关疑难解决方法(0)

C中Sizeof的行为

我已经了解到,当我们将数组名称传递给sizeof时,数组的名称不会衰减到指向基址的指针.下面的代码通过给出答案10来验证这一事实.

#include <stdio.h> 

int main(){  
    int arr[10];  
    printf("Size of array is %d" , sizeof(arr)/sizeof(int));  
    return 0;  
}
Run Code Online (Sandbox Code Playgroud)

然而,当我运行下面的代码时,答案是1.无论维度是否是原型编写,答案都是1.为什么会这样?

#include <stdio.h>

void dimension(int arr[]){  
    printf("Sizof array is %d" , sizeof(arr)/sizeof(int));  
}


int main(){  
    int arr[10];  
    dimension(arr);  
    return 0;  
}  
Run Code Online (Sandbox Code Playgroud)

c arrays sizeof

6
推荐指数
2
解决办法
719
查看次数

标签 统计

arrays ×1

c ×1

sizeof ×1