C语言复合字面量

/ *
C99增加的特性,复合字面量(composite literal)。一旦熟悉并使用,便会体会到简洁强大的表达


对,复合字面量,就是可以随时定义,随时赋值的数组字面量。两步构建出来。


形如(type [])表示需要构建的数组类型,如:(int []),(int * p),还能是自定义的类型(MyType [])
2。跟着{}表示数组内容




* /

https://blog.youkuaiyun.com/c1194758555/article/details/80897459


#include <stdio.h>


typedef struct TEST {
    int a;
    int b;
    char str [64];
} st_TEST,* pst_TEST;




void showPst(pst_TEST pst_test)
{
    if(NULL == pst_test){
        return;
    }
    
    printf(“%d \ n”,pst_test-> a);
    的printf( “%d \ n”个,pst_test-> b)的
    的printf( “%S \ n \ n”个,pst_test-> STR);
}
空隙showArry(INT * ARRY,INT NUM)
{
    对于(INT I = 0;我<NUM;我++){
        的printf( “%d \ n”个,ARRY [I]);
    }
    printf(“\ n”);
}




static st_TEST myTest = {
        。a = 0,
        .b = 1,
        .str =“song”
};  


static int * pst =(int *)&(int []){0,1,2,3,4,5};




int main(void)
{     


    / *常规写法* /  
    showPst(&myTest); 
    //复合字面量写法
    showPst(&(st_TEST){。a = 2,.b = 3,.str =“song2”});




    / *常规写法* /
    int myArry [5] = {1,3,5,7,9};
    showArry(myArry,5);


    //复合字面量写法
    showArry((int [5]){2,4,6,8,10},5);


    showArry(PST,5);
    




}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值