在通常结构化编程中,通常涉及到数据做成和传递,我们通过参数传递一块内存区域的指针到函数中,希望在函数中做成指定格式的数据,放在传递到函数的指针所指向的内存区域,在主函数中通过传递到函数中的指针访问该内存。
在访问该内存区域时,通常有两种方法,一种是通过下标的方法访问指针中数据,另一种方法是通过指针的方法。
例如:
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{