在数组初始化的时候的数组里面的成员如果遇到了(,)这样的成员遵循,运算规则()里面最后以为是他的成员。
例如:
#include <stdio.h>
int main()
{
int arr[] = {1,2,(3,4),5};
printf("%d\n", sizeof(arr));
return 0;
}
在这里数组初始化后实际成员只有4个。为arr[]= { 1,2,4,5}.
关于数组名理解的问题。
数组名通常表示的是首元素地址,但是又两个情况是例外。
1.sizeof(数组名)。这个时候数组名,表示的不是首元素地址,而是数组整个首元素的地址。计算的是整个数组的大小.而不按照指针来算。
2.&数组名。 在传递参数的时候,这样子传递,传递的是整个数组的地址。例如add(&数组名)。传递的是整个数组名的地址。