牛骨文教育服务平台(让学习变的简单)
博文笔记

得到指针指向的数组的长度

创建时间:2016-05-03 投稿人: 浏览次数:230

1  、定义数组,要给定其长度,也可以用Type a[ ] = {……} 的方式。

在对数组进行操作时,可能需要计算数组长度,方法是:sizeof(数组名)/sizeof(元素类型)

 

数组int a[4]; sizeof(a)=4*4=16字节 (int为4个字节)
int *p=a; sizeof(p)=4字节
对数组应用sizeof,可以得到整个数组分配的字节数(存储全部数据占用的内存字节数)
对指针应用sizeof,只是得到分配给用来存储一个地址值的指针所用的字节数,即4个字节。
(上面都是在32位编译系统)
 
C++中sizeof得到的是字节数,也就是你所说的“长度单位”
 
求大小,可以手动计算,需要知道数据类型,是否有字节对齐(编译器选项,也可代码控制和切换)。我以前做过统计结构体大小的小程序,同时计算每个成员变量的相对地址。

转自知乎-----
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。