c语言sizeof用法
时间: 2023-10-16 07:31:36 浏览: 25
在 C 语言中,`sizeof`是一个关键字,用于获取数据类型或变量在内存中所占的字节数。其语法如下:
```c
sizeof(type)
sizeof(expression)
```
其中,`type`是数据类型,可以是基本数据类型、自定义数据类型或指针类型,`expression`是一个表达式或变量名。`sizeof` 运算符返回一个 `size_t` 类型的值,表示数据类型或变量在内存中所占的字节数。
例如,可以使用 `sizeof` 来获取不同类型的大小:
```c
#include <stdio.h>
int main() {
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 char: %zu bytes\n", sizeof(char));
printf("Size of long: %zu bytes\n", sizeof(long));
printf("Size of short: %zu bytes\n", sizeof(short));
printf("Size of long long: %zu bytes\n", sizeof(long long));
printf("Size of unsigned int: %zu bytes\n", sizeof(unsigned int));
printf("Size of int *: %zu bytes\n", sizeof(int *));
printf("Size of struct: %zu bytes\n", sizeof(struct MyStruct));
return 0;
}
```
输出结果:
```
Size of int: 4 bytes
Size of float: 4 bytes
Size of double: 8 bytes
Size of char: 1 bytes
Size of long: 8 bytes
Size of short: 2 bytes
Size of long long: 8 bytes
Size of unsigned int: 4 bytes
Size of int *: 8 bytes
Size of struct: 24 bytes
```
注意:`sizeof` 返回值的类型是 `size_t`,需要用 `%zu` 输出格式符打印。
阅读全文