- char:通常是1字节。表示一个字符。
- int:通常在现代系统中是4字节(但这取决于编译器和架构,有时可能是2字节)。
- float:通常是4字节。
- double:通常是8字节。
- short 和 short int:通常是2字节。
- long:在32位系统上通常是4字节,在64位系统上可能是8字节。
- long long:通常是8字节。
- unsigned 类型(如 unsigned int):大小通常与对应的有符号类型相同。
对于指针类型,大小取决于系统的地址空间:
- 指针(例如 int* 或 char*):在32位系统上通常是4字节,在64位系统上通常是8字节。
#include <stdio.h>int main() {printf("Size of char: %zu bytes\n", sizeof(char));printf("Size of int: %zu bytes\n", sizeof(int));printf("Size of float: %zu bytes\n", sizeof(float));printf("Size of double: %zu bytes\n", sizeof(double));printf("Size of short: %zu bytes\n", sizeof(short));printf("Size of long: %zu bytes\n", sizeof(long));printf("Size of long long: %zu bytes\n", sizeof(long long));printf("Size of int pointer: %zu bytes\n", sizeof(int*));// getchar();return 0;
}
Size of char: 1 bytes
Size of int: 4 bytes
Size of float: 4 bytes
Size of double: 8 bytes
Size of short: 2 bytes
Size of long: 4 bytes
Size of long long: 8 bytes
Size of int pointer: 4 bytes
注:在这个例子中,%zu是用于size_t类型的格式说明符,它是sizeof运算符返回的类型。