本篇文章深入浅出地讲解了C语言中结构体指针的概念、定义及应用技巧,并提供了实例代码帮助读者更好地理解和掌握。
指向结构体类型变量的使用首先让我们定义一个结构体:`struct stu { char name[20]; long number; float score[4]; };`
接下来定义两个指针变量 `p1` 和 `p2`,它们都指向上述定义的结构体类型:
```c
struct stu *p1, *p2;
```
这两个指针可以用来引用和操作结构体类型的成员。访问形式为:指针变量->成员。
下面是一个示例代码,展示如何正确使用这些指针来输入并输出一个结构体类型变量的成员信息:
```c
#include
struct data {
int day, month, year;
};
int main() {
struct stu student; // 定义一个结构体类型的实例
p1 = &student; // 指针p1指向这个实例
// 输入成员数据,例如:
scanf(%s, (p1->name)); // 输入名字
scanf(%ld, &(p1->number)); // 输入学号
for(int i=0; i<4; i++) {
scanf(%f, &((p1->score)[i])); // 输入四个分数
}
// 输出成员数据,例如:
printf(Name: %s\nNumber: %ld\nScores:, (p1->name), p1->number);
for(int i=0; i<4; i++) {
printf(%f , (p1->score)[i]);
}
}
```
此代码展示了如何通过指针来访问和修改结构体变量的成员。注意使用标准输入输出函数时,需要包含相应的头文件如 `` 和 ``。