C语言中能够用复合字面量来创造结构体数组吗

2025-05-14 03:14:07
推荐回答(2个)
回答1:

可以,复合字面量数组就是省略了数组名,就是在创建的同时使用,因为匿名,所以创建后不好使用了。

如下代码:

#include

typedef struct stt

{

    int id;

    char name[10];

}STT;

int main()

{

    STT *p=NULL;

    p=(STT [3]){{1,"结构1"},{2,"结构2"},{3,"结构3"}};

    printf("%d,%s\n%d,%s\n%d,%s\n",p[0].id,p[0].name,p[1].id,p[1].name,p[2].id,p[2].name);

    return 0;

}

回答2:

能,比如:
struct s
{
char c;
int i;
}arr[]={{'a',1},{'b',2}};