我正在尝试将一个数组分配给 typedef 结构的一个字段,但实际上找不到一种方法。
我已经搜索过这个问题,但我似乎找到的只是 char * 数组的答案,这不是我正在寻找的,我只是试图将一个数组分配给一个 int 数组,并寻找一种实用的方法下面的代码无需初始化结构中的所有变量即可工作(它们将稍后初始化,但我只想设置数组变量):
typedef struct {
int array[5];
int number;
} Rot;
Rot RA;
void config()
{
RA.array = {1, 2, 3, 4, 5}; //This returns an "expected expression before "{"" error
int arr[5];
int i;
for (i = 0; i < 5; i++)
{
arr[i] = i + 1;
}
RA.array = arr; //I understand why this fails, but I need to do this in a practical way
}
请假设稍后调用 config 并且结构体和 RA 都可以访问。
RA.array = {1, 2, 3, 4, 5};
memcpy(RA.array, (int[]){1, 2, 3, 4, 5}, sizeof RA.array);
RA.array = arr;
memcpy(RA.array, arr, sizeof arr); // better: sizeof RA.array
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)