a占用的内存字节=a所指向的内存区域大小+a指针的大小在数据结构定义中,定义了一个长度为6的字符串num[6],定义了一个int类型的数组s,定义了一个double类型的ave。那么a所指向的内存区域大小=字符串num的大小+数组s的大小+双浮点ave的大小在C语言中,字符串在定义时就预分配空间(初始化为0),大小是字符串长度,也就是num实际大小为6。数组本质上是一个指针,在未对其中元素进行赋值或malloc分配内存时,其占用内存=指针的内存大小,所以s的大小为指针大小。双精度浮点数ave大小在定义时就已经确定。所以:a占用的内存字节=( 6 +指针字节数+双精度浮点字节数) + (指针字节数)在32位机器下,指针占用4个字节,双精度浮点数占用8个字节在64位机器下,指针占用8个字节,双精度浮点数占用8个字节最终的结果为:32位机器下,a的内存大小为 6 + 4 + 8 + 4 = 2264位机器下,a的内存大小为 6 + 8 + 8 + 8 = 30