黑马程序员技术交流社区
标题:
sizeof使用中的注意点
[打印本页]
作者:
闪电侠
时间:
2015-7-10 22:58
标题:
sizeof使用中的注意点
本帖最后由 闪电侠 于 2015-7-10 23:00 编辑
sizeof可以计算一个变量或一种类型所占用的存储字节数,比如:
int nums[10]={};
sizeof(nums);
复制代码
其结果为10 * 4 = 40
但是当把这个数组传入一个函数的时候:
void test(int nums[] ){
int n = sizeof(nums);
}
复制代码
结果就变成了
8
为什么会这样呢???
其实原因很简单,因为不管 函数的形参是
int nums[]
还是
int nums[10]
还是
int *nums
,最终传入的仅仅只是数组的首地址,而在64位编译器中地址占8个字节。
作者:
huguozhang
时间:
2015-7-11 00:30
test 方法传递的是一个数组 属于地址传递 也就是说传递的是一个 指针, 所有类型的指针都是8个字节
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2