c语言==两个结构体之间的相互调用(17)

本文详细介绍了如何在C语言中使用结构体和指针,包括定义结构体类型变量、指针变量,以及如何通过指针访问结构体成员。通过示例展示了如何输入和输出结构体成员,特别是涉及嵌套结构体的情况。还讨论了结构体数组和指向结构体数组的指针的使用,包括地址法、指针法和指针的数组表示法。
摘要由CSDN通过智能技术生成

指向结构体类型变量的使用
首先让我们定义结构体:
struct stu
{
char name[20];
long number;
float score[4];
} ;
再定义指向结构体类型变量的指针变量:
struct stu *p1, *p2 ;
定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;
[例7-2] 对指向结构体类型变量的正确使用。输入一个结构体类型变量的成员,并输出。

#include <stdlib.h> /*使用malloc() 需要* /

struct data / 定义结构体 /
{
int day,month,year;
} ;

struct stu /定义结构体 /
{
char name[20];
long num;
struct data birthday; /嵌套的结构体类型成员/
} ;

main() /定义m a i n ( ) 函数 /
{
struct stu student; 定/义结构体类型指针*/
student=malloc(sizeof(struct stu)); 为/指* 针变量分配安全的地址*/
printf(“Input name,number,year,month,day:/n”);
scanf(“%s”,student->name); 输/入学生姓名、学号、出生年月日/ <

C语言中,可以定义结构体来封装数据和行为,从而实现数据收发的功能。结构体是一种自定义的数据类型,允许我们将多个不同类型的数据项组合成一个单一的复合类型。以下是如何定义两个结构体并在程序中进行数据收发的一个例子。 首先,我们定义两个结构体,一个用于表示发送的数据,另一个用于接收的数据。每个结构体包含相同的数据成员,这样可以确保收发的数据格式是一致的。 ```c #include <stdio.h> #include <string.h> // 定义一个用于发送和接收数据的结构体 typedef struct Data { int id; char name[50]; float value; } Data; // 用于发送数据的函数 void sendData(Data *send, Data *receive) { // 在这里可以添加一些处理逻辑 // 然后将send指向的结构体数据复制到receive指向的结构体中 *receive = *send; } int main() { // 创建发送和接收的结构体实例 Data dataToSend = {1, "Example Data", 99.99}; Data dataReceived; // 调用函数发送数据 sendData(&dataToSend, &dataReceived); // 打印接收到的数据 printf("Received Data: ID=%d, Name=%s, Value=%f\n", dataReceived.id, dataReceived.name, dataReceived.value); return 0; } ``` 在上面的代码中,我们定义了一个名为`Data`的结构体,包含了一个整型`id`,一个字符数组`name`以及一个浮点型`value`。然后我们创建了两个`Data`类型的变量`dataToSend`和`dataReceived`。`sendData`函数接受两个`Data`类型的指针参数,将`dataToSend`的数据复制到`dataReceived`中,从而实现了数据的发送和接收。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值