LLVM-C中,如何对结构体的指针数组进行创建和赋值, 请举例
时间: 2024-03-11 15:47:18 浏览: 166
对结构体的指针数组进行创建和赋值可以通过以下步骤完成:
1. 首先需要定义一个结构体类型,例如:
```c
typedef struct {
int id;
char *name;
} Person;
```
2. 然后定义一个指向该结构体类型的指针数组,例如:
```c
Person **people;
```
3. 接着可以使用 `malloc` 函数为指针数组分配一定数量的内存空间,例如:
```c
people = (Person **)malloc(3 * sizeof(Person *));
```
这里为指针数组分配了 3 个元素的内存空间。
4. 然后可以为每个元素分配一块内存空间,并将指针赋值给指针数组的对应元素,例如:
```c
for (int i = 0; i < 3; i++) {
people[i] = (Person *)malloc(sizeof(Person));
people[i]->id = i + 1;
people[i]->name = "Person";
}
```
这里为每个元素分配了一个 `Person` 结构体的内存空间,并将其 id 和 name 信息赋值。
完整示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int id;
char *name;
} Person;
int main() {
Person **people;
people = (Person **)malloc(3 * sizeof(Person *));
for (int i = 0; i < 3; i++) {
people[i] = (Person *)malloc(sizeof(Person));
people[i]->id = i + 1;
people[i]->name = "Person";
}
for (int i = 0; i < 3; i++) {
printf("Person %d: %s\n", people[i]->id, people[i]->name);
}
return 0;
}
```
输出结果为:
```
Person 1: Person
Person 2: Person
Person 3: Person
```
阅读全文