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

int a;int *p=a;sizeof(p)和sizeof(*p)分别表示什么意思
在数组中有一种用法用来求数组的元素个数
int a[10];int b;
b=sizeof(a)/sizeof(*a)这个怎么解释,主要是书上说sizeof()括号里面接指针表示指针自身所具有的长度,可是这里sizeof(a)却表示正葛数组的长度,是特别针对数组的特殊用法吗

哆啦的时光机
浏览 196回答 2
2回答

拉丁的传说

sizeof(a)表示整个数组的大小,即sizeof(int)*10sizeof(*a)表示数组一个单元即a[0]的大小,等于sizeof(int)b=sizeof(a)/sizeof(*a)表示数组中单元的个数即10

茅侃侃

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