把c语言中sizeof可以计算的东西列出来,并写代码解释
时间: 2024-09-09 17:01:46 浏览: 62
对C语言中sizeof细节的三点分析介绍
在C语言中,`sizeof`是一个运算符,用于获取对象或类型所占的内存大小,单位是字节。`sizeof`可以用来计算的数据类型和对象包括:
1. 基本数据类型:如`int`、`char`、`float`、`double`等。
2. 构造类型:包括数组、结构体、联合体等。
3. 指针类型:包括函数指针、对象指针等。
4. 动态分配的内存块:使用`malloc`、`calloc`、`realloc`等函数分配的内存大小也可以通过`sizeof`获取。
下面是一些使用`sizeof`的例子:
```c
#include <stdio.h>
int main() {
// 基本数据类型的大小
printf("Size of int: %zu bytes\n", sizeof(int));
printf("Size of char: %zu bytes\n", sizeof(char));
printf("Size of float: %zu bytes\n", sizeof(float));
printf("Size of double: %zu bytes\n", sizeof(double));
// 数组的大小
int arr[10];
printf("Size of array: %zu bytes\n", sizeof(arr));
// 结构体的大小
struct Point {
int x;
int y;
};
printf("Size of struct Point: %zu bytes\n", sizeof(struct Point));
// 指针的大小
int *ptr;
printf("Size of int*: %zu bytes\n", sizeof(ptr));
return 0;
}
```
需要注意的是,`sizeof`得到的结果与系统架构、编译器以及编译时的平台设置有关。比如在32位系统和64位系统中,指针类型的大小通常会不同。
阅读全文