类型 | 同义词 |
---|---|
signed char | |
int | signed, signed int |
short | short int, signed short, signed short int |
long | long int, signed long, signed long int |
long long (C99) | long long int, signed long long,signed long long int |
类型 | 同义词 |
---|---|
_Bool | bool(在 stdbool.h 头文件中定义) |
unsigned char | |
unsigned int | unsigned |
unsigned short | unsigned short int |
unsigned long | unsigned long int |
unsigned long long | unsigned long long int |
char ch= 'A'; // 数据类型为char的变量 printf("The character %c has the character code %d.\n", ch, ch); for ( ; ch <= 'Z' ; ++ch ) printf("%2c", ch);在 printf() 语句中,ch 先被视为一个字符以获得显示,然后被视为该字符的整数编码。同样,for 循环在执行 ++ch 的时候将 ch 视为整数,在执行 printf() 的时候,将 ch 视为字符。在使用 7 位 ASCII 码或者扩展 ASCII 码的系统中,上述程序代码将输出以下内容:
The character A has the character code 65.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
sizeof(short) ≤ sizeof(int) ≤ sizeof(long) ≤ sizeof(long long)
int 类型是最适应计算机系统架构的整数类型,它具有和 CPU 寄存器相对应的空间大小和位格式。类型 | 存储空间大小 | 最小值 | 最大值 |
---|---|---|---|
char | (与 signed char 或 unsigned char 相同) | ||
unsigned char | 1个字节 | 0 | 255 |
signed char | 1个字节 | -128 | 127 |
int | 2个或4个字节 | -32 768 或 -2 147 483 648 | 32767 或 2 147 483 647 |
unsigned int | 2个或4个字节 | 0 | 65 535 或 4 294 967 295 |
short | 2个字节 | -32 768 | 32 767 |
unsigned short | 2个字节 | 0 | 65 535 |
long | 4个字节 | -2 147 483 648 | 2 147 483 647 |
unsigned long | 4个字节 | 0 | 4 294 967 295 |
long long (C99) | 8个字节 | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 |
Unsigned long long (C99) | 8个字节 | 0 | 18 446 744 073 709 551 615 |
int iIndex, // 定义两个int变量 iLimit= 1000; // 初始化第二个利用 sizeof 运算符,可以获取一个数据类型或变量的空间大小。表达式 sizeof(type)输出指定类型的大小;sizeof expression 输出指定表达式类型的大小。输出结果是类型为 size_t 的一组字节。如果操作数是一个表达式,则输出结果是该表达式的类型。
size_t 类型作为一个无符号整数类型(如 unsigned long)定义在头文件 stddef.h、stdio.h,以及其他头文件中。在上述示例中,sizeof(int) 的值会和 sizeof(iIndex)一样(都是4)。sizeof(iIndex) 的圆括号可以去掉,因为 iIndex 是一个表达式,不是一个类型。
#include <rstdio.h> #include <limits.h> // 该文件包含了CHAR_MIN、INT_MIN等宏 int main() { printf("Storage sizes and value ranges of the types char and int\n\n"); printf("The type char is %s.\n\n", CHAR_MIN<0? "signed":"unsigned"); printf(" Type Size (in bytes) Minimum Maximum\n" "--------------------------------------------------\n"); printf("char %8zu %20d %15d\n", sizeof(char), CHAR_MIN, CHAR_MAX ); printf("int %8zu %20d %15d\n", sizeof(int), INT_MIN, INT_MAX ); return 0; }
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有