(C99)复合字面量

时间:2022-07-24
本文章向大家介绍(C99)复合字面量,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#include <stdio.h>

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

int pfunc(struct argvs *a)
{
    printf("argvs.a=%s argvs.b=%dn", a->a, a->b);
}

int func(struct argvs a)
{
    printf("argvs.a=%s argvs.b=%dn", a.a, a.b);
}

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

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

    printf("pa[0]=%dn", pa[0]);

    pfunc(&a);

    func((struct argvs) {"liming", 24});

    //pfunc((struct argvs) {"liming", 24}); //非法

    return 0;
}