二级C 精品课程3-1-7:C 运算符之求字节数运算符

文章作者 100test 发表时间 2007:04:06 21:30:03
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

3.1.7求字节数运算符
  C 提供了一个有用的运算符sizeof,它是一个单目运算符,用于计算表达式或数据类型的字节数,其运算结果与不同的编译器和机器相关。当编写用于进行文件输入/输出操作或给动态列表分配内存的程序时,用户将发现,如能知道程序给这些特定变量所分配内存的大小将会很方便。 例如3-1:
  当我们进行算术运算时,如果运算结果超出变量所能表达的数据范围时,就会发生溢出。而利用sizeof运算符计算变量所占的字节数,也就是说,可以算出变量的数据范围,从而可以避免可能出现的错误。

例题 例3-1
#include
int main (void)
{
 cout << "char size = " << sizeof(char) << " bytes\n".
 cout << "char* size = " << sizeof(char*) << " bytes\n".
 cout << "short size = " << sizeof(short) << " bytes\n".
 cout << "int size = " << sizeof(int) << " bytes\n".
 cout << "long size = " << sizeof(long) << " bytes\n".
 cout << "float size = " << sizeof(float) << " bytes\n".
 cout << "double size = " << sizeof(double) << " bytes\n".
 cout << "1.55 size = " << sizeof(1.55) << " bytes\n".
 cout << "1.55L size = " << sizeof(1.55L) << " bytes\n".
 cout << "HELLO size = " << sizeof("HELLO") << " bytes\n".
}

我们运行这个程序,产生下面的结果(在作者的PC机上):
char size = 1 bytes
char* size = 2 bytes
short size = 2 bytes
int size = 2 bytes
long size = 4 bytes
float size = 4 bytes
double size = 8 bytes
1.55 size = 8 bytes
1.55L size = 10 bytes
HELLO size = 6 bytes
表格 表3-10
类型 运算 运算符
求字节数运算符 求字节大小 sizeof
  下表给出了常用数据类型的字节数。具体的例子可参考书中给出的例子。当我们进行算术运算时,如果运算结果超出变量所能表达的数据范围时,就会发生溢出。如果我们能够利用sizeof运算符计算变量所占的字节数,就可算出变量的数据范围,从而可以避免可能出现的错误。
  下表给出了常用数据类型的字节数。具体的例子可参考书中给出的例子。
表格 表3-11
数据类型 占用字节数
Char 1
Char * 4
Short 2
Int 4(VC 6.0)2 (VC 1.5x)
Long 4
Float 4
Double 8



相关文章


C程序开发经典实例之2
二级C 精品课程3-2:优先级和结合性
二级C 精品课程3-1-7:C 运算符之逗号运算符
二级C 精品课程3-1-7:C 运算符之条件运算符
二级C 精品课程3-1-7:C 运算符之求字节数运算符
二级C 精品课程3-1-6:C 运算符之赋值运算符
二级C 精品课程3-1-5:C 运算符之位运算符
二级C 精品课程3-1-4:C 运算符之逻辑运算符
二级C 精品课程3-1-2:C 运算符之关系运算符
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛