结构的大小

时间:2015-10-17 05:33:50

标签: c pointers size

假设有一个结构fakes

struct fakes {
....
};

还有一个指针:

struct fakes *fakes;

我想知道sizeof(struct fakes)sizeof(*fakes)是否相同。

3 个答案:

答案 0 :(得分:3)

  

我想知道sizeof(struct fakes)sizeof(*fakes)是否相同。

是的,他们保证是一样的。

答案 1 :(得分:0)

是。这些都是一样的。

sizeof用于确定数据类型在内存中占用的空间量。编译器实际上只关心类型,而不是它的特定实例(因为所有实例都应占用相同的空间量)。因此,sizeof(struct fakes)保证与sizeof(*fakes)相同。

答案 2 :(得分:0)

当sizeof运算符应用于类,结构或联合类型时,结果是该类型的对象中的字节数,以及为对齐单词边界上的成员而添加的任何填充。结果不一定与通过添加各个成员的存储要求计算的大小相对应。

当sizeof运算符应用于引用时,结果与将sizeof应用于对象本身的结果相同。

检查一下,

https://msdn.microsoft.com/en-us/library/4s7x1k91.aspx

相关问题