复合字面量(C99)

语法,把类型名放到圆括号里面,后面紧跟一个花括号扩起来的初始化列表。int *a = (int []){1,2};


例如:

#include <stdio.h>

struct argv
{
    char a[64];
    int b;
};

int func(struct argv a)
{
     printf("argv.a=%s argv.b=%d\n",a.a,a.b);
} 

int main(int argc,char *argv[])
{
    struct argv a = {
      .a = "chenhongyu",
      .b = 24
    };

    func(a);

    func((struct argv){"chenhongyu",24});
    
    return 0;
}

运行结果:


猜你喜欢

转载自blog.csdn.net/c1194758555/article/details/80897459