1. 程式人生 > >C 陣列要點

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