数组方式的线性表实验,输出学号姓名源代码c语言
时间: 2024-09-07 07:01:47 浏览: 48
在C语言中,数组方式的线性表通常用于存储同类型的数据,比如学生的学号和姓名。这里我们可以创建一个结构体`Student`来存储学号(id)和姓名(name),然后用数组来存放这些学生信息。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,因为需要处理姓名
// 定义结构体 Student
typedef struct {
int id;
char name[50]; // 假设姓名最多不超过49个字符,包括空格
} Student;
// 动态分配内存并初始化数组
void createStudentArray(int size) {
Student* students = (Student*)malloc(size * sizeof(Student)); // 分配数组空间
if (students == NULL) { // 检查是否成功分配
printf("Memory allocation failed.\n");
return;
}
for (int i = 0; i < size; i++) {
// 初始化每个元素
students[i].id = i + 1; // 学号从1开始
strcpy(students[i].name, "Student" + i); // 假设姓名格式,可以替换为你想要的实际值
}
printf("\n学号姓名记录如下:\n");
printStudentArray(students, size);
}
// 打印数组里的所有学生信息
void printStudentArray(Student* array, int size) {
for (int i = 0; i < size; i++) {
printf("学号: %d, 姓名: %s\n", array[i].id, array[i].name);
}
}
int main() {
const int ARRAY_SIZE = 5; // 创建5个学生记录
createStudentArray(ARRAY_SIZE);
free(students); // 释放动态分配的内存
return 0;
}
```
在这个例子中,`createStudentArray`函数用于创建数组并填充数据,而`printStudentArray`函数用于显示数组内容。请注意,实际项目中应避免硬编码姓名,而是通过其他方式获取或设置。
阅读全文