软件公司门户网站模板,wordpress修改登陆地址,金山专业网站建设,企业黄页88网C中使用 sizeof 确定变量的长度
变量长度指的是程序员声明变量时#xff0c;编译器将预留多少内存#xff0c;用于存储赋给该变量的数据。变量的长度随类型而异#xff0c; C 提供了一个方便的运算符——sizeof#xff0c;可用于确定变量的长度#xff08;单位为字节中使用 sizeof 确定变量的长度
变量长度指的是程序员声明变量时编译器将预留多少内存用于存储赋给该变量的数据。变量的长度随类型而异 C 提供了一个方便的运算符——sizeof可用于确定变量的长度单位为字节或类型。
sizeof 的用法非常简单。要确定 int 变量的长度可调用 sizeof 并给它传递参数 int
cout Size of an int: sizeof (int);以下示例程序演示了如何获悉各种标准 C 变量类型的长度
#include iostreamint main()
{using namespace std;cout Computing the size of some C inbuilt variable types endl;cout Size of bool: sizeof(bool) endl;cout Size of char: sizeof(char) endl;cout Size of unsigned short int: sizeof(unsigned short) endl;cout Size of short int: sizeof(short) endl;cout Size of unsigned long int: sizeof(unsigned long) endl;cout Size of long: sizeof(long) endl;cout Size of int: sizeof(int) endl;cout Size of unsigned long long: sizeof(unsigned long long) endl;cout Size of long long: sizeof(long long) endl;cout Size of unsigned int: sizeof(unsigned int) endl;cout Size of float: sizeof(float) endl;cout Size of double: sizeof(double) endl;cout The output changes with compiler, hardware and OS endl;return 0;
}输出
Computing the size of some C inbuilt variable types
Size of bool: 1
Size of char: 1
Size of unsigned short int: 2
Size of short int: 2
Size of unsigned long int: 4
Size of long: 4
Size of int: 4
Size of unsigned long long: 8
Size of long long: 8
Size of unsigned int: 4
Size of float: 4
Size of double: 8
The output changes with compiler, hardware and OS分析
示例程序的输出指出了各种类型的长度单位为字节这是针对我使用的平台编译器、操作系统和硬件而言的。具体地说这是在 64 位系统中以 32 位模式使用 32 位编译器进行编译运行该程序得到的结果。如果使用 64 位编译器进行编译结果可能不同。我之所以使用 32 位编译器是因为这样该应用程序在 32 位和 64 位系统上都能运行。输出表明无符号类型和相应的有符号类型的长度相同唯一的差别在于后者的 MSB 包含符号信息。
注意
输出中的长度单位为字节。类型的长度是一个重要参数对用于存储数字的类型来说尤其如此。 short int 可存储的数值范围比 long long 小因此您不能使用 short int 变量来存储国家人口数。提示
C11 引入了固定宽度的整型 让您能够以位为单位指定整数的宽度。 这些类型为 int8_t 和 unit8_t分别用于存储 8 位的有符号和无符号整数。您还可能使用 16 位、 32 位和 64 位的整型它们为 int16_t、 uint16_t、 int32_t、 uint32_t、 int64_t 和 uint64_t。要使用这些类型必须包含头文件cstdint。该文章会更新欢迎大家批评指正。
推荐一个零声学院免费公开课程个人觉得老师讲得不错 分享给大家LinuxNginxZeroMQMySQLRedis fastdfsMongoDBZK流媒体CDNP2PK8SDocker TCP/IP协程DPDK等技术内容点击立即学习: 服务器课程C服务器