C 数组要点

数组介绍

数组:0或N个 类型相同 进行连续存储
int array[5]

1.数组通过[n]下标访问元素,下标从0开始,合法下标应为0到N-1 下标合法性由程序员保证 编译器无>    法检查其合法性

2.数组定义时,未被定义到的元素值为0

3.定义数组可以自动计算元素的个数 int array[]={11,22,33,44,55};

4.数组不可整体赋值 因为数组名单独作为实参 或 作为 右值 以首地址的形式出现

------------------------------------------------------
二维或二维以上称之位多维数组,空间依然连续
int aa[2][3]
int aa[2][3][4]

矩阵:在C语言中常用二维数组表达矩阵

数组声明

 int ar[5]={11,22,};                                               //数组定义时,未被定义到的元素值为0
 int ar[5]={[3]=11,22,[0]=5566};                          //C99指定元素定义
 int ar[]={11,22,33,44,55};                                  //定义时数组可以自动计算元素个数

  1.    数组通过[n]访问元素 下标从0开始 合法下标为0--(N-1)

  2.    编译器无法检查下标合法性  由程序员自己保证正确

数组赋值

 

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] );

 

 

 

;