资源描述:
《C语言程式设计--阵列.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C語言程式設計--陣列本章學習重點8-1陣列的基本架構8-2一維陣列表示法8-3多維陣列表示法8-4以陣列為參數之函數呼叫8-5字元陣列表示法8-1陣列的基本架構陣列(array):由一組相同的資料型態所組成記憶體位置具有連續性的特性使用共同的名稱來存取依據結構,可將陣列分為:一維陣列二維陣列多維陣列8-2一維陣列表示法語法資料型態 陣列名稱[陣列大小];說明資料型態:陣列元素的資料型態陣列名稱:根據識別字規定命名[]:一個無正負符號的整數範例inta[5];intb[5]={2,4,3,2,7};intc[]={1,2,3,4,5};8
2、-2-2一維陣列元素的引用語法陣列名稱[索引值]說明陣列名稱:陣列起始位置的位址索引值:陣列起始位置的位移範例:inta[5];/*假設a陣列的起始位址為100*/索引位址a[0]a[1]a[2]a[3]a[4]記憶體位址100102104106108範例Ch8_2(1/2)ch8_2列出陣列的儲存方式1#include2voidmain()3{4inta[5]={2,4,3,6,8},i;for(i=0;i<5;i++)printf(“索引位址:a[%d],陣列的內容:%d,實際記憶體位址:%d",i,a[i],&
3、a[i]);/*&a[i]為求出實際位址的表示方式*/7}Ch8_2輸出結果(2/2)程式執行結果索引位址:a[0],陣列的內容:2,實際記憶體位址:8724索引位址:a[1],陣列的內容:4,實際記憶體位址:8726索引位址:a[2],陣列的內容:3,實際記憶體位址:8728索引位址:a[3],陣列的內容:6,實際記憶體位址:8730索引位址:a[4],陣列的內容:8,實際記憶體位址:87328-2-3陣列界限檢查C語言不會自動檢查界限若迴路的範圍超過其陣列的範圍,會造成不可預期的錯誤、當機等可能。若範圍設定太小,則會發生資料遺失的問題
4、。8-3多維陣列表示法二維陣列最常用的多維陣列擁有行、列的資料記憶體中的儲存方式以線性的方式來儲存語法資料型態陣列名稱[陣列大小][陣列大小];8-3多維陣列範列:inta[3][3];第一列a[0][0]a[0][1]a[0][2]第二列a[1][0]a[1][1]a[1][2]第三列a[2][0]a[2][1]a[2][2]Column(1)Column(2)Column(3)Row(1)a[0][0]a[0][1]a[0][2]Row(2)a[1][0]a[1][1]a[1][2]Row(3)a[2][0]a[2][1]a[2][2
5、]實際記憶體中的儲存方式範例Ch8_5(1/3)ch8_5基本二維陣列的加法運算1#include2voidmain()3{inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};intb[3][4],c[3][4],i,j;6printf("Theorigionalmatrixis:");7for(i=0;i<3;i++)8{for(j=0;j<4;j++)10printf("%3d",a[i][j]);11printf("");12}13printf("PleaseInpu
6、tthesecond3*4matrix.");範例Ch8_5(2/3)14for(i=0;i<3;i++)15for(j=0;j<4;j++)16scanf("%d",&b[i][j]);17for(i=0;i<3;i++)18for(j=0;j<4;j++)19c[i][j]=a[i][j]+b[i][j];20printf("Afteraddition:");21for(i=0;i<3;i++)22{23for(j=0;j<4;j++)24printf("%3d",c[i][j]);25printf("");26}27}C
7、h8_5輸出結果(3/3)程式執行結果Theoriginalmatrixis:123456789101112PleaseInputthesecond3*4matrix.123456789123Afteraddition:246810121416181113158-4以陣列為參數之函數呼叫語法intfunction(intarray[]);/*副程式宣告*/voidmain(void)/*主程式*/{inta[];…function(a);…}intfunction(intarray[])/*副程式開始*/{…}範例Ch8_8(1/2)ch
8、8_8以陣列做為參數,輸出陣列的內容及位址1#include2voidprint(intarray[]);3voidmain(){inta[8]={1,2,3,4,5,6,7