复合文字的意义,相当于是在C语言中,为数组类型定义了一种类似于8之于int,'w'之于char一样的常量类型,所以从C99之后,可以在一些地方使用复合文字来代替数组使用。
复合文字的声明
(int [3]){ 1,2,3}; //一个复合文字,定义类似于数组的定义 (int []){1,2,5,6,8}; //类似于数组,复合文字的定义也可以省略大小
因为复合文字没有名称,所以,不能在一个语句中创建,而在另一个语句中使用。必须在一个语句中创建的同时使用他们。
一种可能的使用方法是在创建的同时使用指针来保存地址 int *p=(int []){ 1,2,5,4}; 这样p指针指向的是复合文字首字符的位置,此时p[0]=1,p[1]=2.......
另外,复合文字也可以作为函数参数传递。
二维复合文字的定义
(int [2][3]){ { 1,2,3}, { 7,5,3}};