c语言求解答,在定义的函数中调用sizeof?

为什么不是输出3,而直接在main函数里面打印sizeof(arr)除sizeof(int)就是正确的3。

在main函数里直接操作数组,sizeof(数组名)是数组占用的字节数
用数组名做参数传递,到了子函数里他就是个指针,指向数组首地址的指针
在子函数里sizeof(形参)得到的是一个指针占用的字节数,64位系统返回的是8,sizeof(int)等于4,所以结果是2
在子函数是不能通过这个方法得到整形数组的长度,必须要在通过其他途径,比如再加一个参数
温馨提示:答案为网友推荐,仅供参考
相似回答