指针数组在内存中所占的空间怎么算

如题所述

用 sizeof 计算。一个指针 4个字节。
float (*a1)[3]; 一个指针 指向有3个元素的数组。 4个字节
char (*a4)[3]; 一个指针 指向有3个元素的数组。 4个字节
float *a2[3]; 指针数组,有3个 指针。 12个字节。
char *a5[3]; 指针数组,有3个 指针。 12个字节。
float a3[3]; float 数组,有3个元素,sizeof(float) * 3 = 12 个字节
char a6[3]; char 数组,有3个元素,sizeof(char) * 3 = 3 个字节.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-19
用sizeof a/sizeof a[0]可以求出数组里面元素的个数。
将整个指针数组占用的字节数除以数组中第一个元素占用的字节数,由于数组中各个元素占用相同的存储空间,所以结果就是数组元素的个数。
第2个回答  2013-02-19
指针在平台上是定长的, 但是指针所指向的空间是可变大小的. sizeof指针指向的内容得到的是内容大小
第3个回答  2013-02-19
一个指针 4字节追问

那这道题目能给我讲讲吗
有这样的定义语句
char (*a4)[3],*a5[3],a6[3]

float (*a1)[3],*a2[3],a3[3];
则sizeof(a1),sizeof(a2),sizeof(a3),sizeof(a4),sizeof(a5),sizeof(a6)的值是多少啊

相似回答