[指针一]结构体数组作为形参传递,下标访问和指针访问使用该结构体

本文介绍了如何在C语言中通过指针传递结构体数组,并比较了下标访问和指针访问两种方式。通过示例代码展示了如何在函数内部更新结构体数组的成员,并在主函数中通过不同方式访问更新后的数据。
摘要由CSDN通过智能技术生成

在通常结构化编程中,通常涉及到数据做成和传递,我们通过参数传递一块内存区域的指针到函数中,希望在函数中做成指定格式的数据,放在传递到函数的指针所指向的内存区域,在主函数中通过传递到函数中的指针访问该内存。

在访问该内存区域时,通常有两种方法,一种是通过下标的方法访问指针中数据,另一种方法是通过指针的方法。

例如:

typedef struct{
int cout;
char path[256];
char filename[64];
}info_s;

1.下标访问:定义结构体数组info_s data[20],可以通过下标访问data[0].cout,data[0].path,data[0].filename。

2.指针访问:定义结构体数组info_s data[20],定义结构体指针变量info_s *ptr,该指针指向结构体数组ptr = data,通过指向该结构体数组的指针ptr来访问结构体数组中的数据。ptr->cout;ptr->path,ptr->filename,访问的是data[0]中的数据,ptr++指向data[1],通过ptr指向的移动来依次访问data中数据。

例子1:下标访问

#include <stdio.h>
#include <string.h>
typedef struct{

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值