C99之前,可以传递数组,但是没有所谓的数组常量可供传递,于是新增了复合文字。
普通数组声明方法:
int d[2]={10,20};
复合文字声明: 与数组名相同,常量同时代表元素的地址。
(int [2]){10,20};//创建一个含两个int数组的无名称数组。
既然是无名,那怎么调用? 所以需要一种方法,就是使用指针保存其位置。
int * p;
pt1=(int [2]){10,2};
或者 pt1=(int [] ){10,2}; //复合文字的定义也可以省略大小,系统会计算。
处理二维数组或多为数组:
int (*p2) [4];
p2=(int[2][4]){{1,2,3,4},{5,6,7,8}};