编写程序,使用sizeof运算符和printf函数,输出表2.3和表2.4中不同数据类型占用的字节数。以下是表2.3和表2.4。
时间: 2024-10-12 19:12:23 浏览: 59
在C语言中,`sizeof`运算符用于获取变量或数据类型的存储大小(以字节为单位),而`printf`函数则可以将这个值输出到控制台。为了演示如何编写这样的程序,让我们先列出两个表格的数据类型:
**表2.3 数据类型**
1. int (基本整型)
2. char (字符)
3. float (单精度浮点数)
4. double (双精度浮点数)
5. struct (自定义结构体)
**表2.4 复合数据类型**
6. array of int (整型数组)
7. pointer to int (指向int的指针)
8. struct array (包含int的结构体数组)
9. dynamic array (动态分配的整型数组)
下面是一个简单的示例程序,展示了如何使用`sizeof`和`printf`来打印这些数据类型的字节数:
```c
#include <stdio.h>
int main() {
// 表2.3的数据类型
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));
// 表2.4的复合数据类型
int arr[] = {1, 2, 3}; // 整型数组
printf("Size of array of int: %zu bytes\n", sizeof(arr)); // 注意这里得到的是整个数组的大小
int* ptr = &arr[0]; // 指针
printf("Size of pointer to int: %zu bytes\n", sizeof(ptr));
struct {
int a;
} str; // 结构体
printf("Size of struct with one int field: %zu bytes\n", sizeof(str));
int dynamic_arr[3] = {4, 5, 6}; // 动态分配的整型数组
printf("Size of dynamically allocated array: %zu bytes\n", sizeof(dynamic_arr));
return 0;
}
```
当你运行此程序,它会输出每个数据类型和复合类型占用的字节数。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)