现在的位置: 首页 > 综合 > 正文

使用sizeof计算内存空间_第2篇

2013年03月26日 ⁄ 综合 ⁄ 共 786字 ⁄ 字号 评论关闭

在下面代码中,假设在32位系统下,各sizeof计算的结果分别是多少?

	char *pArray0[5]={0};                              //数组的元素是指针,指针指向的是char型的数据-- 指针数组,pArray0是数组名
	char (*pArray1)[5]={0};                            // 定义了一个指针pArray1,指向大小为5、元素为char型的数组, -- 数组指针
	char (*pArray2[10])[5]={0};
	char (*pArray3[100])[5]={0};
	cout<<"sizof(pArrya0)= "<<sizeof(pArray0)<<endl;
	cout<<"sizof(pArrya1)= "<<sizeof(pArray1)<<endl;
	cout<<"sizof(pArrya2)= "<<sizeof(pArray2)<<endl;
	cout<<"sizof(pArrya3)= "<<sizeof(pArray3)<<endl;

揭晓答案:

	int k0 = sizeof(0);
	int k1 = sizeof(0.0);
	int k2 = sizeof('0');
	int k3 = sizeof("0");
	int k4 = sizeof(NULL);  // define NULL 0
	int k5 = sizeof(false);
	char *k6 = (char *)malloc(0);
	int *k7 = (int *)malloc(0);
	cout<<"k0= "<<k0<<endl;
	cout<<"k1= "<<k1<<endl;
	cout<<"k2= "<<k2<<endl;
	cout<<"k3= "<<k3<<endl;
	cout<<"k4= "<<k4<<endl;
	cout<<"k5= "<<k5<<endl;
	cout<<"sizeof(k6)= "<<sizeof(k6)<<endl;
	cout<<"sizeof(k7)= "<<sizeof(k7)<<endl;

抱歉!评论已关闭.