结构体指针数组定义
在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小时内删除。