数组声明
int ar[5]={11,22,}; //数组定义时,未被定义到的元素值为0
int ar[5]={[3]=11,22,[0]=5566}; //C99指定元素定义
int ar[]={11,22,33,44,55}; //定义时数组可以自动计算元素个数
-
数组通过[n]访问元素 下标从0开始 合法下标为0--(N-1)
- 编译器无法检查下标合法性 由程序员自己保证正确
数组赋值
1. 数组不支持整体赋值 仅在定义时可用{}
ar[5]={1,2,3,4,5};
2. 数组不支持整体赋值:数组名单独作为右值 它以首地址的形式存在 指向第一个元素
br=ar; //错误:将‘int *’赋值给‘int[5]’时类型不兼容
数组名单独作为右值 它以首地址的形式存在 指向第一个元素
br=ar; //错误:将‘int *’赋值给‘int[5]’时类型不兼容
数组名单独作为函数参数 它以首地址的形式存在 指向第一个元素
一维数组
int ar[5]={0};
void showArray(int ar[5],int n) ------------------------->showArray(ar,5);
void showArray(int *ar,int n) ------------------------->showArray(ar,5);
二维数组
int ar[3][2]={1,2,3,4,5,6};
void showArray(int ar[3][2] );------------------------>showArray( ar );
void showArray(int (*ar)[2] );------------------------>showArray( ar );
void showArray(int ar[2] );------------------------>showArray( ar[2] );
void showArray(int *ar );-------------------------->showArray( ar[2] );