int a;int *p=a;sizeof(p)和sizeof(*p)分别表示什么意思在数组中有一种用法用来求数组的元素个数int a[10];int b;b=sizeof(a)/sizeof(*a)这个怎么解释,主要是书上说sizeof()括号里面接指针表示指针自身所具有的长度,可是这里sizeof(a)却表示正葛数组的长度,是特别针对数组的特殊用法吗
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
sizeof(a)表示整个数组的大小,即sizeof(int)*10
sizeof(*a)表示数组一个单元即a[0]的大小,等于sizeof(int)
b=sizeof(a)/sizeof(*a)表示数组中单元的个数即10
茅侃侃
TA贡献1842条经验 获得超21个赞
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
sizeof(a) 相当于sizeof(数组类型)*数组长度=sizeof(int)*10=40
sizeof(*a)就表示数组a的第一个元素 sizeof(int)=4
这里表示一个对象或者类型所占的内存字节数,因此sizeof(数组名)时,表示这个数组所占空间的大小
- 2 回答
- 0 关注
- 220 浏览
添加回答
举报
0/150
提交
取消