linux 怎么用sizeof检测指针指向数组大小?
怎么用sizeof检测指针指向数组大小?
对于cout<< umsize(P)<<endl,输出应该是24,因为umsize(P)“返回堆中分配的内存块的大小。”为P分配6个int,每个int是4字节。对于cout<<sizeof(*P)<<endl,输出是int数据占用的内存大小,在32位计算机上为4,在16位计算机上为2。如果写入cout<< size of(P)<< ndl,输出仍然是4,因为P是指针,只需要4个字节。
malloc(sizeof(0))返回的是否是有效的指针,为什么?
是有效的指针,因为sizeof(0)应该返回一个指向int所占用空间大小的指针,#include
使用命名空间STD
void main()
{
int*t=(int*)malloc(sizeof(0))]*t=0
free(t)
}try
sizeof(Arr1)。Arr1是一个数组,其中int变量占用4字节,因此3个变量占用12字节。Int*source,source是指针。如果它是sizeof(source),您会发现它是4,因为所有指针的大小都是4*source是指针指向的元素,int类型占用4个字节,所以它等于4
linux c语言sizeof怎么计算字节数 如何用sizeof算出数据字节数
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。