#include<stdio.h>
struct test_stub
{
int n;
int *array;
char *b;
}
test[3]=
{
{5,{1,2,3,4,5},"abcd"}
};
int main()
{
return 0;
}
但这不起作用
错误我得到的int不能用于初始化int *
如果它是字符指针,我们可以在&#34;之间初始化它。 &#34;这些
答案 0 :(得分:5)
如果您确实想在声明时初始化结构对象,请使用复合文字:
struct test_stub
{
int n;
int *array;
char *b;
}
test[3]=
{
{5,(int [5]){1,2,3,4,5},"abcd"}
};
或者如果您的数组大小固定,请将array
的类型从int *
更改为int [5]
:
struct test_stub
{
int n;
int array[5];
char *b;
}
test[3]=
{
{5,{1,2,3,4,5},"abcd"}
};