陣列是為了節約儲存空間,並儲存相同的資料型別而產生的。
定義方式:
型別說明符 陣列名 [常量表示式]
eg:
int a [10]
//定義了整型陣列a,其中有10個整型變數元素
意義:節省了定義各個變數的所需時間
注意:1.[10]中下標是從0開始即,a中的元素為a[0],a[2],a[3]…a[9]。不存在a[10]。
2.不能對陣列的大小進行動態定義,即陣列大小不能為程式執行中的變數。
3.不可使用圓括號
4.一維陣列是在記憶體中存放的。
陣列元素也是變數,表示方式為陣列名後跟乙個下標。下標表示元素在陣列中的順序號。
陣列名[下標]
例:
a[0]
= a[5]
+ a[7]
- a[2*
3]a[i+j]
a[i++
]
以上皆為合法陣列元素
且c語言只能逐個使用下表變數而不能一次引用整個陣列
例:
#include
void
main()
for(i =
9;i >=
0;i--
)}
則輸出結果為:
987
6543
210press any key to continue
注:
陣列賦值除了賦值語句逐個元素賦值,還可以採用初始化賦值和動態賦值。
值,在編譯階段進行,減少了執行間,提高了效率(賦值語句和輸入語句給陣列元素賦予初值是在執行時完成的)
一般形式:
型別說明符 陣列名[常量表示式]=;
例:
#include
void
main()
;for
(i =
9;i >=
0;i--
)}
輸出結果與用迴圈語句賦值結果相同。
2.也可以只給陣列中的前一部分元素賦值 ,而後邊的元素則自動為0
3.使陣列中的元素全部為0
int a[10]
=
4.陣列初始化賦值時可以不指定陣列長度
int a[5]=; //該式等價於
int a[ ]=;
動態賦值:
運用for迴圈語句在迴圈中對陣列中元素依次賦值,格式如下
int i,a[5]
printf("please input a[5]'s element");
for(i = 0;i <= 4;i++)
例:
程式設計實現將輸入的5個整數由大到小進行排序
#include
void
main()
for(i =
0;i <=
4;i++)}
}printf
("after sorted :\n");
for(i =
0;i <=
4;i++
)}
陣列元素有兩個下標的陣列成為二維陣列
一般格式為:
型別儲存 資料型別 陣列名[一維整型常量表示式][二維整型常量表示式]
如:int a[2][3] //表示乙個2*3的矩陣,有2*3=6個元素
引用格式:
陣列名[行下標][列下標]
//使用方法與一維陣列相似
需注意的是
1.二維陣列行,列下標的有效範圍也是由0開始
2.引用陣列中的元素要防止超界,區分好行與列的區別
1.分行賦初值
int a[2][3] = ,} //輸入的矩陣為 1 2 3
4 5 6
2.按記憶體順序賦初值
int a[2][3] = ; // 結果與①相同
3.對部分元素賦值
int a[2][3] = ,}; // 輸入的矩陣為 1 0 0
4 0 0
但絕不可以越過前面的元素對後面元素賦值,如果前面是0必須賦予0值
例:程式設計實現將m*m的矩陣倒置
#include
#define m
4void
main()
;printf
("the old mateix is :\n");
for(i =
0;i <=m-
1;i++
)printf
("\n");
}for
(i =
0;i <=m-
1;i++)}
printf
("the new matrix is :\n");
for(i =
0;i <=m-
1;i++
)printf
("\n");
}}
C語言學習筆記6
最開始學習的時候從最簡單的程式設計開始學習,那麼我們都會看一些關於 c語言基礎書籍 把基礎打好之後我們會慢慢的看一些 c語言提高書籍 那麼接下來我們就繼續進行打基礎的工作。1 啟動vc 編譯系統 單擊 file 選單中 new 命令,進入vc 編譯系統介面,選擇 files 選項卡,選擇c 原始檔命...
C語言學習筆記6
魯迅先生曾說過,偉大的成績和辛勤勞動是成正比例的,有一分勞動就有一分收穫,日積月累,從少到多,奇蹟就可以創造出來。學習也是同等道理,日積月累,逐漸儲備知識就可以完成自己的理想。然而看 c語言程式設計教程 是儲備知識的乙個方法,所以現在就來看看我要學習的知識內容。if語句是大型程式使用最多的結構,不管...
C語言學習筆記 6
1.指標的 在當代,大多數的現代計算機都會把記憶體分割成位元組,每個位元組都有著其唯一的位址。可執行程式由 和資料兩部分構成,而程式中的每個變數都占有著乙個或多個位元組,也就是說,每個變數都有著自己的位址。而這個就是指標的 其實每個位址就是乙個數,但是我們卻不能用數來表示位址,儲存位址,我們需要用指...