为了账号安全,请及时绑定邮箱和手机立即绑定

您好,求助关于C++语言中sizeof()函数的问题

您好,求助关于C++语言中sizeof()函数的问题

哆啦的时光机 2021-10-21 15:11:12
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

查看完整回答
反对 回复 2021-10-24
?
茅侃侃

TA贡献1842条经验 获得超21个赞

sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
sizeof(a) 相当于sizeof(数组类型)*数组长度=sizeof(int)*10=40
sizeof(*a)就表示数组a的第一个元素 sizeof(int)=4
这里表示一个对象或者类型所占的内存字节数,因此sizeof(数组名)时,表示这个数组所占空间的大小

查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 194 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信