首页主机资讯c语言结构体指针数组怎么初始化

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

时间2023-12-05 19:57:03发布访客分类主机资讯浏览544
导读:在C语言中,结构体指针数组的初始化可以通过以下几种方式进行: 逐个初始化:通过逐个为每个元素赋值。例如: struct Person { char name[20]; int age; }; struct Person...

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

  1. 逐个初始化:通过逐个为每个元素赋值。例如:
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;
  1. 使用静态初始化:通过静态方式初始化每个元素。例如:
struct Person {
    
    char name[20];
    
    int age;

}
    ;


struct Person *people[3] = {
    
    &
(struct Person){
"Tom", 20}
    ,
    &
(struct Person){
"Jerry", 25}
    ,
    &
(struct Person){
"Alice", 30}

}
    ;
  1. 使用循环初始化:通过循环为每个元素赋值。例如:
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 name, names[i]);
    
    people[i]->
    age = ages[i];

}
    

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言结构体指针数组怎么初始化
本文地址: https://pptw.com/jishu/569520.html
css3 超出文本省略号 c语言结构体数组的用法是什么

游客 回复需填写必要信息