C语言中在结构体查找学生名字
时间: 2024-11-30 13:11:49 浏览: 8
在C语言中,如果有一个包含学生信息的结构体,比如`student`,它可能包括`name`这样的成员变量来存储学生的姓名。如果你想要在该结构体数组或者链表中查找特定的学生名字,你可以按照以下步骤操作:
1. 定义结构体:
```c
typedef struct {
char name[50];
int id;
} Student;
```
2. 创建结构体数组或者链表:
```c
Student students[] = {{"Tom", 1}, {"Jerry", 2}, {"Spike", 3}}; // 数组示例
// 或者创建链表的节点结构,每个节点包含name和id
typedef struct Node {
char name[50];
int id;
struct Node* next;
} ListNode, *List;
List list = NULL; // 初始化链表
```
3. 查找特定名字:
```c
void findStudentByName(char* targetName) {
if (array) {
for (int i = 0; i < sizeof(students)/sizeof(students[0]); i++) {
if (strcmp(students[i].name, targetName) == 0) {
printf("找到学生名字:%s, ID:%d\n", students[i].name, students[i].id);
break;
}
}
} else if (list) {
List current = list;
while (current != NULL) {
if (strcmp(current->name, targetName) == 0) {
printf("找到学生名字:%s, ID:%d\n", current->name, current->id);
break;
}
current = current->next;
}
}
}
```
4. 调用函数:
```c
findStudentByName("Jerry"); // 搜索名为"Jerry"的学生
```
阅读全文