用scanf通过结构体指针输入结构体成员的值
时间: 2024-09-24 21:02:44 浏览: 167
408结构体对齐-typedef-结构体指针-c++引用
在C语言中,你可以使用`scanf`函数通过结构体指针来输入结构体的成员值。首先,你需要定义一个结构体,然后创建一个指向该结构体的变量。下面是一个简单的例子:
```c
#include <stdio.h>
#include <string.h> // 包含strlen函数
// 定义一个结构体
struct Student {
char name[50];
int age;
};
int main() {
// 创建一个结构体变量,并声明一个指向它的指针
struct Student stu;
struct Student* ptr = &stu;
// 使用指针作为输入目标
printf("请输入学生姓名: ");
scanf("%s", ptr->name); // 输入字符串,注意这里用的是指针->name
printf("请输入学生年龄: ");
scanf("%d", &ptr->age); // 输入整数,&操作符获取地址以便输入
// 现在可以访问结构体的成员
printf("学生姓名:%s, 年龄:%d\n", ptr->name, ptr->age);
return 0;
}
```
当你运行这个程序时,它会提示你输入学生的姓名和年龄,然后显示出来。记住在输入字符串时,`%s`用于接受字符数组,`%d`用于接受整数。
阅读全文