sizeof()里面的值
sizeof 操作符的概念、使用方法和结果 sizeof 操作符是 C 语言中的一种单目操作符,用于获取其操作数的存储大小。它并不是函数,而是一个操作符,如同 C 语言的其他操作符++、--等。sizeof 操作符可以用于数据类型、变量、数组、指针、结构体和联合体等多种类型。 一、sizeof 的概念 sizeof 操作符的结果类型是 size_t,它在头文件中 typedef 为 unsigned int 类型。该类型保证能容纳实现所建立的最大对象的字节大小。sizeof 操作符以字节形式给出其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof 的使用方法 sizeof 操作符有两种使用形式: 1. 用于数据类型:sizeof(type) 数据类型必须用括号括住。如 sizeof(int)。 2. 用于变量:sizeof(var_name)或 sizeof var_name 变量名可以不用括号括住。如 sizeof (var_name),sizeof var_name 等都是正确形式。带括号的用法更普遍,大多数程序员采用这种形式。 需要注意的是,sizeof 操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void 类型等。 三、sizeof 的结果 sizeof 操作符的结果取决于操作数的类型。以下是 sizeof 操作符结果的一些规律: 1. 若操作数具有类型 char、unsigned char 或 signed char,其结果等于 1。 2. int 、unsigned int 、short int 、unsigned short 、long int 、unsigned long、float、double、long double 类型的 sizeof 在 ANSI C 中没有具体规定,大小依赖于实现,一般可能分别为 2、2、2、2、4、4、4、8、10。 3. 当操作数是指针时,sizeof 依赖于编译器。例如 Microsoft C/C++7.0 中,near 类指针字节数为 2,far、huge 类指针字节数为 4。一般 Unix 的指针字节数为 4。 4. 当操作数具有数组类型时,其结果是数组的总字节数。 5. 联合类型操作数的 sizeof 是其最大字节成员的字节数。 在实际编程中,sizeof 操作符可以用来获取变量或数据类型的存储大小,以便更好地控制内存的使用。同时,sizeof 操作符也可以用来检查变量或数据类型的合法性,以避免内存访问错误。