复合数据类型

本文详细介绍了C语言中的复合数据类型,包括数组、结构体、联合体和指针,以及如何在实际情境中如学生信息管理系统中运用它们。同时提及了Windows平台上的pause命令的使用。
摘要由CSDN通过智能技术生成

在C语言中,复合数据类型是指那些可以包含多个简单数据类型的数据类型。以下是一些常见的C语言复合数据类型以及相关的例子:

1. 数组(Arrays):

数组是一种可以存储多个相同类型数据的数据结构。例如:

#include <stdio.h>

int main() {

int numbers[5]; // 声明一个可以存储5个整数的数组

numbers[0] = 10; // 初始化数组元素 numbers[1] = 20;

numbers[2] = 30;

numbers[3] = 40;

numbers[4] = 50;

 for (int i = 0; i < 5; i++)

 {printf("%d ", numbers[i]); // 输出数组元素}

 return 0;}

2. 结构体(Structures):

结构体允许组合不同类型的数据到一个单独的数据类型中。例如:

#include <stdio.h>

struct Student {

 char name[50];

       float marks;

               int age; };

int main() {

 struct Student student1; // 声明结构体变量

 strcpy(student1.name, "Alice"); // 初始化结构体成员

 student1.age = 20;

 student1.marks = 85.5;

printf("Name: %s\n", student1.name);

printf("Age: %d\n", student1.age); printf("Marks: %.2f\n", student1.marks); return 0;}

3. 联合体(Unions):

联合体允许在同一个内存位置存储不同的数据类型,但一次只能存储一个。 例如:

#include <stdio.h>

union Data {

            int i;

     float f;

     char str[20];};

int main() {

 union Data data; // 声明联合体变量

 data.i = 10; // 初始化联合体的整数成员

 printf("%d\n", data.i); // 输出10

 data.f = 20.5; // 现在初始化浮点数成员

printf("%f\n", data.f); // 输出20.5

 // 注意:由于联合体的所有成员都共享同一块内存,所以修改一个成员会影响其他成员的值。

  return 0;}

4. 指针(Pointers):

指针是一个变量,其值为另一个变量的地址。通过指针,可以间接地访问、修改另一个变量的值。例如:

#include <stdio.h>

int main() {

int num = 50; // 声明并初始化一个整数变量

 int *ptr = &num; // 声明一个指针变量并使0其指向num的地址

 printf(" num的值: %d\n", num);

printf("num的地址: %p\n", (void*)&num);

printf("ptr的值: %p\n", (void*)ptr);

printf("ptr指向的值: %d\n", *ptr); // 使用*操作符解引用指针以获取其指向的值

*ptr = 60; // 通过指针修改num的值

printf("修改后num的值: %d\n", num);

return 0;}

这是C语言中一些比较常用的复合数据类型,下面我们来看看使用复合数据类型来制作一个学生信息管理系统。

b33bac5d4bce42b2a89177787bcd2913.png

 

我们先定义了一个TXL函数并对其进行赋值。

5c7328e282ca496e805d6bd395f49301.png

然后定义了一个结构体函数,用于编号查找。

34d756314e6341e780bb74bec0e4300a.png

 再接收结构函数返回的结构变量体。

3619c752f3024f77b20bfb6cbdbde3a0.png

 最后,在C语言中,"system("pause")"是一个常见的用法,通常用于Windows平台的命令行程序中。这个语句的作用是调用系统命令"pause"来实现程序暂停的功能,等待用户按下任意键后才会继续执行程序。

23c2a5f98e1d471283e48b90a965046a.png

 好啦,今天的分享就到这里了。再次声明:作者水平有限,如有失偏颇,还请各位不吝赐教

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值