结构体指针数组定义
在C语言中,结构体指针数组的定义涉及到多个概念,包括结构体、指针和数组。下面是一个示例:
```c
include <>
// 定义一个结构体
struct Student {
char name[20];
int age;
};
int main() {
// 定义一个结构体指针数组
struct Student students[3];sizeof结构体大小
// 为数组中的每个指针分配内存空间,并初始化
for (int i = 0; i < 3; i++) {
students[i] = malloc(sizeof(struct Student));
if (students[i] == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
printf("Enter name and age for student %d:\n", i + 1);
scanf("%s", students[i]->name);
scanf("%d", &students[i]->age);
}
// 打印学生信息
for (int i = 0; i < 3; i++) {
printf("Student %d: %s, %d\n", i + 1, students[i]->name, students[i]->age);
free(students[i]); // 释放内存空间
}
return 0;
}
```
在这个例子中,我们首先定义了一个名为`Student`的结构体,它包含一个字符数组`name`和一个整数`age`。然后,我们在`main`函数中定义了一个结构体指针数组`students`,它包含三个指向`Student`结构体的指针。我们使用`malloc`函数为每个指针分配内存空间,并使用`scanf`函数从用户那里获取信息来初始化每个结构体。最后,我们使用一个循环打印每个学生的信息,并使用`free`函数释放内存空间。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论