前要:我们可以利用复合字面量直接创造一个数组,然后直接运用该数组作许多其他运算,而不用像之前还需声明后再使用
比如
int ar[2]={1,2};
...
现在可以这样
(int [2]){1,2}//在我的理解中,这个式子与上式不同,你可以直接把它理解成可以进行运算的常量,而不是上式的定义语句。
解读:(int [2]){1,2}
- 中括号的2指一维数组中元素的个数
- 花括号是你需要的数组元素
但是,就像常量一样,我们不把它存到一个地方便不能长久保存,由于这是一个数组,我们把数组赋给指针
如
int*p;//一维
int(*p1)[2];
p=(int [2]){1,2};
p1=(int [2][2]){{1,2},{3,4}};