c语言结构体指针数组怎么初始化
导读:在C语言中,结构体指针数组的初始化可以通过以下几种方式进行: 逐个初始化:通过逐个为每个元素赋值。例如: struct Person { char name[20]; int age; }; struct Person...
在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 name, names[i]);
people[i]->
age = ages[i];
}
需要注意的是,在使用完结构体指针数组后,需要手动释放内存。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c语言结构体指针数组怎么初始化
本文地址: https://pptw.com/jishu/569520.html
