物聯網學習教程——二維陣列的引用
二維陣列元素的表示形式為:
陣列名[下標][下標]
例如: a [ 2 ][ 3 ]
下標可以是整型表示式,如 a [ 2-1 ][ 2*2-1 ]
不要寫成 a [ 2 , 3 ], a [ 2-1 , 2*2-1 ]形式
陣列元素可以出現在表示式中,也可以被賦值
例如:b [ 1 ][ 2 ] =a [ 2 ][ 3 ] /2
在使用陣列元素時,應該注意下標值應在已定義的陣列大小的範圍內。
常出現的錯誤有:
int a [ 3 ][ 4 ] ; /* 定義 a 為 3 × 4 的陣列 */
┆
a [ 3 ][ 4 ] =3;
資料型別
陣列名 [ 常量表示式 1][ 常量表示式 2] ={ 初始化資料 };
可以用下面4 種方法對二維陣列初始化:
1. 分行給二維陣列賦初值。
例如: int a [ 3 ][ 4 ] ={{1 , 2 , 3 , 4} , {5 , 6 , 7 , 8} , {9 , 10 , 11 , 12}};
2. 可以將所有資料寫在一個花括號內,按陣列排列的順序對各元素賦初值。
4. 如果對全部元素都賦初值,則定義陣列時對第一維的長度可以不指定,但第二維的長度不能省。
例如:int a [ 3 ][ 4 ] ={1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12}; 它等價於: int a [][ 4 ] ={1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12};
在定義時也可以只對部分元素賦初值而省略第一維的長度,但應分行賦初值。
例如:int a [][ 4 ] ={{0 , 0 , 3} , {} , {0 , 10}};
二維陣列程式舉例
例4 將一個二維陣列行和列元素互換,存到另一個
二維陣列中。
#include <stdio.h>
void main()
{
int a [ 2 ][ 3 ] ={{1 , 2 , 3} , {4 , 5 , 6}};
int b [ 3 ][ 2 ], i , j;
printf( ″ array a: \ n ″ );
for (i=0;i<=1;i++)
{
for (j=0;j<=2;j++)
{
printf( ″ %5d ″, a [ i ][ j ] );
b [ j ][ i ] =a [ i ][ j ] ;
}
printf( ″\ n ″ );
}
printf( ″ array b: \ n ″ );
for (i=0;i<=2 ; i++)
{
for(j=0;j<=1;j++)
printf("%5d ″, b [ i ][ j ] );
printf( ″\ n ″ );
}
} /* 程式結束 */
例5: 有一個 3 × 4 的矩陣,要求程式設計序求出其中值最大的那個元素的值,以及其所在的行號和列號。
程式:
#include <stdio.h>
void main()
{
int i , j , row=0 , colum=0 , max;
int a[3][4]={{1 , 2 , 3 , 4} , {9 , 8 , 7 , 6} ,
{-10 , 10 , -5 , 2}};
max=a [ 0 ][ 0 ] ;
for (i=0;i<=2;i++)
for (j=0;j<=3;j++)
if (a [ i ][ j ] >max)
{ max=a[i][j];
row=i;
colum=j;
}
printf( ″ max=%d , row=%d , colum=%d \ n ″,
max , row , colum);
} /* 程式結束 */
最後:
關注回覆“物聯網”即可獲取物聯網全套影片教程
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2656019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物聯網學習教程——一維陣列的引用陣列
- 物聯網學習教程— 多維陣列與指標陣列指標
- 物聯網學習教程—列舉型別型別
- 物聯網學習教程—檔案的讀寫二
- Java 學習筆記 二維陣列和物件陣列Java筆記陣列物件
- 二維陣列練習陣列
- 物聯網學習教程——if語句
- C的二維陣列(習題)陣列
- 物聯網學習教程—檔案的定位
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 物聯網學習教程——switch語句
- 物聯網學習教程——if語句2
- 物聯網學習教程—const用法的體會
- PHP二維關聯陣列的遍歷方式PHP陣列
- 物聯網學習教程—字串與指標字串指標
- 物聯網學習教程—const關鍵字
- 物聯網學習教程——執行緒池執行緒
- 物聯網學習教程—c++學習應該注意的點C++
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- 二維陣列陣列
- 物聯網學習教程—檔案的讀寫一
- 物聯網學習教程—函式的返回值函式
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- PHP中二維陣列與多維陣列PHP陣列
- 物聯網學習教程—Const用法和體會
- JavaScript 學習筆記 - 多維陣列變為一維陣列JavaScript筆記陣列
- c語言程式設計學習之二維陣列C語言程式設計陣列
- 物聯網學習教程—多型的實現機制多型
- 二維陣列排序陣列排序
- Java二維陣列Java陣列
- vector 二維陣列陣列
- 物聯網學習教程—Linux系統程式設計之多工實現(二)Linux程式設計
- 二維陣列的獲取陣列
- 物聯網學習教程——格式輸入與輸出
- 物聯網學習教程—— 執行緒私有資料執行緒
- 物聯網學習教程—用typedef定義型別型別
- 物聯網的學習路線