赞
踩
指针变量本质上是指一个存储了地址的(一个)变量。因此无论哪种类型的指针,变量占用的地址是固定的,32位CPU则为4bytes,16为CPU则为2bytes。
下面看一个例子:
#include
typedef struct
{
}str;
typedef struct
{
}name1;
typedef struct
{
}name2;
void main()
{
}
以上代码,由于name1结构体包含了一个str类型的变量,因此,它的大小和str结构体的大小相同。而str结构体包含了两个int数据,一个指针,因此,它的大小为12bytes.
而name2结构体,其中只有一个指针,由于是32位的CPU,一个地址空间占用4bytes,因此它的大小为4.
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。