gpt4 book ai didi

C - 使用 {} 进行视觉上高效的指针数组初始化

转载 作者:行者123 更新时间:2023-11-30 14:28:02 25 4
gpt4 key购买 nike

是否有一种方法可以执行类似于指针数组的数组初始化大括号方法的操作?

myStruct* array = malloc(4*sizeof(myStruct));
array = {a,b,c,d}; //like this

我感兴趣的原因是因为前面提到的几行代码比以下代码更好看:

myStruct* array = malloc(4*sizeof(myStruct));
array[0] = blah0;
array[1] = blah1;
array[2] = blah2;
...
array[n] = blahn;

我初始化的变量是作为函数参数传递的变量,因此我无法有效地迭代它们来初始化数组...

最佳答案

我认为你可以用C99来做到这一点。该功能称为“复合文字”。

struct tag {
int x;
int y;
int z;
};

struct tag *t;
t = &(struct tag){1, 2, 3};

或者,对于数组:

int *arr;
arr = (int []) {1, 2, 3};

关于C - 使用 {} 进行视觉上高效的指针数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6882069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com