把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后使用结构体指针变量友好输出学生的信息。
时间: 2023-08-31 19:33:26 浏览: 188
### 回答1:
可以回答这个问题。可以使用以下代码实现:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student {
int id;
char name[20];
char gender[10];
char address[50];
};
int main() {
struct student *ptr;
ptr = (struct student*) malloc(sizeof(struct student));
ptr->id = 12345;
strcpy(ptr->name, "张三");
strcpy(ptr->gender, "男");
strcpy(ptr->address, "北京市海淀区");
printf("学号:%d\n", ptr->id);
printf("姓名:%s\n", ptr->name);
printf("性别:%s\n", ptr->gender);
printf("住址:%s\n", ptr->address);
free(ptr);
return ;
}
### 回答2:
假设我们定义了一个名为"Student"的结构体,包含学号、姓名、性别和住址四个成员变量。接下来我们可以定义一个结构体变量"student1",并赋予其成员变量对应的值。然后,我们定义一个结构体指针变量"ptr_student1",使其指向结构体变量"student1"。
```c
#include <stdio.h>
struct Student {
int number;
char name[20];
char gender;
char address[50];
};
int main() {
struct Student student1 = {12345, "张三", '男', "北京"};
struct Student *ptr_student1 = &student1;
printf("学号:%d\n", ptr_student1->number);
printf("姓名:%s\n", ptr_student1->name);
printf("性别:%c\n", ptr_student1->gender);
printf("住址:%s\n", ptr_student1->address);
return 0;
}
```
在上述代码中,我们使用"->"操作符通过结构体指针变量访问结构体成员变量。通过这种方式,我们能够友好地输出学生的信息。
### 回答3:
定义一个结构体类型,包括学号、姓名、性别、住址四个成员变量:
```
struct Student {
int id;
char name[20];
char gender[10];
char address[100];
};
```
在主函数中,定义一个结构体变量,并通过结构体指针变量输出学生的信息:
```
#include <stdio.h>
int main() {
struct Student student;
struct Student *ptr = &student;
// 输入学生信息
printf("请输入学号:");
scanf("%d", &(ptr->id));
printf("请输入姓名:");
scanf("%s", ptr->name);
printf("请输入性别:");
scanf("%s", ptr->gender);
printf("请输入住址:");
scanf("%s", ptr->address);
// 输出学生信息
printf("学号:%d\n", ptr->id);
printf("姓名:%s\n", ptr->name);
printf("性别:%s\n", ptr->gender);
printf("住址:%s\n", ptr->address);
return 0;
}
```
以上代码中,首先定义了一个结构体类型`Student`,包含了学号、姓名、性别、住址四个成员变量。然后在主函数中定义了一个结构体变量`student`,并通过一指针变量`ptr`指向这个结构体变量。
接下来通过`scanf`函数依次输入学号、姓名、性别、住址。这里通过`ptr->id`、`ptr->name`等方式引用结构体成员变量。
最后通过`printf`函数输出学生信息,同样使用`ptr->id`、`ptr->name`等方式引用结构体成员变量。
阅读全文