使用 c++语言创建一个元素为结构体数组的顺序表
时间: 2023-04-12 17:01:53 浏览: 148
结构体数组的初始化-谭浩强经典C++
可以使用以下代码创建一个元素为结构体数组的顺序表:
```
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct {
int id;
char name[20];
} Student;
typedef struct {
Student data[MAXSIZE];
int length;
} SeqList;
SeqList* createSeqList() {
SeqList* list = (SeqList*)malloc(sizeof(SeqList));
list->length = 0;
return list;
}
void insert(SeqList* list, Student s) {
if (list->length >= MAXSIZE) {
printf("List is full!\n");
return;
}
list->data[list->length] = s;
list->length++;
}
void printList(SeqList* list) {
for (int i = 0; i < list->length; i++) {
printf("ID: %d, Name: %s\n", list->data[i].id, list->data[i].name);
}
}
int main() {
SeqList* list = createSeqList();
Student s1 = {1, "Tom"};
Student s2 = {2, "Jerry"};
insert(list, s1);
insert(list, s2);
printList(list);
return 0;
}
```
这个程序创建了一个名为 SeqList 的结构体,其中包含一个元素为 Student 结构体的数组和一个表示数组长度的整数。使用 createSeqList 函数创建一个空的 SeqList,使用 insert 函数向 SeqList 中插入 Student,使用 printList 函数打印 SeqList 中的 Student。
阅读全文