c语言结构体指针数组怎么初始化

   2025-02-15 2470
核心提示:在C语言中,结构体指针数组的初始化可以通过以下几种方式进行:逐个初始化:通过逐个为每个元素赋值。例如:struct Person {char

在C语言中,结构体指针数组的初始化可以通过以下几种方式进行:

逐个初始化:通过逐个为每个元素赋值。例如:
struct Person {    char name[20];    int age;};struct Person *people[3];people[0] = malloc(sizeof(struct Person));strcpy(people[0]->name, "Tom");people[0]->age = 20;people[1] = malloc(sizeof(struct Person));strcpy(people[1]->name, "Jerry");people[1]->age = 25;people[2] = malloc(sizeof(struct Person));strcpy(people[2]->name, "Alice");people[2]->age = 30;
使用静态初始化:通过静态方式初始化每个元素。例如:
struct Person {    char name[20];    int age;};struct Person *people[3] = {    &(struct Person){"Tom", 20},    &(struct Person){"Jerry", 25},    &(struct Person){"Alice", 30}};
使用循环初始化:通过循环为每个元素赋值。例如:
struct Person {    char name[20];    int age;};struct Person *people[3];char names[3][20] = {"Tom", "Jerry", "Alice"};int ages[3] = {20, 25, 30};for (int i = 0; i < 3; i++) {    people[i] = malloc(sizeof(struct Person));    strcpy(people[i]->name, names[i]);    people[i]->age = ages[i];}

需要注意的是,在使用完结构体指针数组后,需要手动释放内存。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言