C语言之数组
tips:
1.定义数组 int a[10];不存在数组元素a[10];
2.允许常量表达式,如int a[3+5];
3.不允许对数组大小作动态定义,如
int n;
scanf("%d",&n);
int a[n];
4.数组初始化:
如果数组是全局变量,数组成员会自动初始化为0;
如果数组是局部变量:
·····只要对数组成员进行了初始化赋值,那么其他成员会自动初始化为0;
·····如果不对其初始化,那么数组成员的初始值将是不确定的;
·····如果用static修饰,数组成员也会自动初始化为0;
·····如果用const修饰,数组成员的初始值将是不确定的;
5.二维数组的定义:
int a[ ][2] = {0,1,2,3}; //可行
int a[2][ ] = {0,1,2,3}; //编译不通过Error[Pe098]: an array may not have elements of this type
6.数组作为函数参数:
//数组作为形参,是可以不必指定数组大小的,因为C编译系统并不检查形参数组大小,
//只是将实参数组元素首地址传给形参数组名,用法与指针相同
float averge(float arr[ ])
{
}
7.指针数组与指向指针的指针
char *name[] = {"asd","zxc","fgh"} ;
char **p;int i;
for(i = 0;i<3;i++)
{
p=name+i;
p++;
}
可以看出,指针数组和双重指针还蛮搭的