+ -
当前位置:首页 → 问答吧 → struct A a; sizeof(a)和sizeof(struct A),大家聊聊

struct A a; sizeof(a)和sizeof(struct A),大家聊聊

时间:2011-12-01

来源:互联网

RT

作者: peng_weida   发布时间: 2011-12-01

参考:
int k;
sizeof(int)与sizeof(k)

作者: cao_julians   发布时间: 2011-12-01

楼上继续

作者: peng_weida   发布时间: 2011-12-01

sizeof 计算的是类型的大小吧!
sizeof(a) 就是a的类型(struct A)的大小
struct A *p sizeof(p) == 4 ; p是struct A * 类型的!
自己的理解!

作者: sixbusy   发布时间: 2011-12-01

struct A a sizeof(a)
a是结构体A的成员,sizeof(a)取的是a所占内存的字节数。

sizeof(struct A)取的是整个结构体A所占内存的字节数。

作者: shuoshuo_mt   发布时间: 2011-12-01

结构体的

作者: defonds   发布时间: 2011-12-01

sizeof 是操作符,其操作数可以是 类型名 或 变量名

作者: AnYidan   发布时间: 2011-12-01

有可能底层的取的都是某类型所占内存空间的大小。

作者: wzx_1987   发布时间: 2011-12-01

引用 4 楼 shuoshuo_mt 的回复:
struct A a sizeof(a)
a是结构体A的成员,sizeof(a)取的是a所占内存的字节数。

sizeof(struct A)取的是整个结构体A所占内存的字节数。

拜托先把实例和成员分清楚再来好吗

作者: jgyh1987   发布时间: 2011-12-01

大家随便聊啊 交流嘛 等下再追加分

作者: peng_weida   发布时间: 2011-12-01

int i = 0;
sizeof(int), sizeof(i), sizeof int, sizeof i;

作者: yuanjie_123   发布时间: 2011-12-01

所得到的结果总是一样的。

作者: pathuang68   发布时间: 2011-12-01

一个类型理应占的内存字节大小和一个该类型的变量所占内存字节大小有什么区别?

作者: mjjackey   发布时间: 2011-12-01

引用 11 楼 pathuang68 的回复:
所得到的结果总是一样的。

那在实际项目中,这两种用法做互相替换么?

作者: peng_weida   发布时间: 2011-12-01

引用 13 楼 peng_weida 的回复:
引用 11 楼 pathuang68 的回复:
所得到的结果总是一样的。

那在实际项目中,这两种用法做互相替换么?

那在实际项目中,这两种用法能互相替换么?

作者: peng_weida   发布时间: 2011-12-01

sizof(a)=1;sizeof(a)是整型数据!!!

作者: Moral656632599   发布时间: 2011-12-01

看代码具体而定。

如果刚刚出现a,那么sizeof(a)更好。
如果代码附近没有出现过a,那么sizoef(strcut A);

作者: qq120848369   发布时间: 2011-12-01

一句话,两者所得到的结果一样
一般用A多一点,因为你a不是哪个地方都有。。
比如 A *pA = new [sizeof(A) * n];

作者: camelisi   发布时间: 2011-12-01