首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

计算变量占用的字节数时,使用sizeof(变量类型)或sizeof(变量名)哪个更好?该怎么处理

2012-02-07 
计算变量占用的字节数时,使用sizeof(变量类型)或sizeof(变量名)哪个更好?说说理由,谢谢.[解决办法]用变量,

计算变量占用的字节数时,使用sizeof(变量类型)或sizeof(变量名)哪个更好?
说说理由,谢谢.

[解决办法]
用变量,这样你以后改变量类型的时候不用同步更新sizeof了。

[解决办法]
不过也各自有不合时宜之处。
[解决办法]
明显的:char str[20]; 要知道数组大小应该用sizeof(str),
然而实际中要看你的程序的具体设计和需求了。

[解决办法]
具体分析
[解决办法]
如楼上所说,看自己的习惯用,没有必要分这么细。
[解决办法]
我认为跟变量更方便一些
[解决办法]
使用变量的好处在于,可能类或结构会被转换,比如原来使用的是某一个类型,由于某种愿意,被改为去使用一个超类。
而使用类名的好处则在于,往往可能更多的时候,那个变量仅仅只是一个指针,又或者为了兼容而声明该变量的时候可能使用的是父类。
[解决办法]
用变量名容易弄错,特别是变成了sizeof(ptr)
用类型名较容易维护.
[解决办法]
最好用sizeof(变量类型),因为sizeof(变量名)在编译的时候会先判断变量名的类型,然后转化成sizeof(变量类型),再进行计算,所以提高运行速度的角度应该用sizeof(变量类型)。

但是在实际编程的过程中可能在过程中会忘记变量的类型,所以这个时候也可以用sizeof(变量名)代替!
[解决办法]
当需要测定一个已存在的对象变量的大小时,无疑应该使用这个变量进行sizeof运算,例如:

int main()
{
Pig x = 0;//猪是人家的,我不知道有多大!
//已经有了类实例x!

sizeof(x);//反正已有x!

return 0;
}


当需要知道一种类型,特别是人家的自定义类型的大小,但又不想实例化一个不必要的类实例(对象的内存占有)时,当然应该用类型来进行sizeof运算,例如;

class X// 'X '当然是不知道的意思!
{
long _l[10000];
}

int main()
{
//不想实例化X!

sizeof(X);//用类型!

return 0;
}

热点排行