C语言 数组(做个笔记)
1,定義數組
(1)普通定義
<類型>變量名稱[元素數量]
int grade[100]
double a[20]?
(1)元素數量? ??
(2)集成初始化定義?
a={1,2,3,4,5,8,9,}? ?//最后一個逗號無影響?
數組大小編譯器自己計算?
a[4]={1}? ? ? ?//? ?[1,0,0,0]?
?給定數組大小,其余部分補0
2,數組特點
(1)所有元素類型相同?
(2)數組被定義后,大小不能更改
(3)下標從0開始,最大下標為 ‘元素數量-1’
(4)字符可以作下標,ASCII碼是數字? ? ? ?a['K']=1
(5)[ ]內是 常量或符合常量
int a[0];? ? ? ? //可以創建數量為0的數組,但沒有什么卵用
3,數組大小計算
sizeof:給出整個數組所占據的內容大小。? ? 單位:字節
?sizeof(a)/sizeof(a[0])
//a是數組變量,先求出整個數組大小,再求出單個元素大小。相除即可
4,數組賦值
//a是數組變量
int b[]=a (X)
(1)數組本身不能被賦值? ? (2)一個數組不能把所有元素交給另一個數組,需遍歷
5,遍歷易錯點
(1)小于等于數組本身大小
(2)離開循環后,仍使用循環變量作為數組下標
6,函數
//a是數組變量
形參(int a[],int length)實參(a,sizeof(a)/sizeof(a[0]))
(1)數組做參數時,不能在[ ]中給出大小(以后解釋)
(2)數組做參數時,不能利用sizeof計算大小(以后解釋)
7,靜態和動態數組
static int b[5]={1,2,3}
//只對前三個元素賦值,其余為0
int a[5]={1,2,3}
//只對前三個元素賦值,其余為不確定
8,二維數組、
(1)定義
類型名? 數組名 [行長度][列長度]?
?a[i,j]? ?等價于? ?a[ j ]
(2)初始化
1.分行賦初值?
類型名 數組名 [ 行長度 ][ 列長度 ]={ {初值表1},{初值表2},{初值表3}...... }
int a[2][2]={{1,2},{3,4}}[1,23,4]static int a[3][3]={{1,2,3},{},{4,5,6}}[1,2,30,0,04,5,6] 空缺處補0
?int a[ ][列長度]={ {初值表1},{初值表2},{初值表3}...... }
行數編譯器會自動算出,列數必須寫上
2.順序賦初值
類型名 數組名 [ 行長度 ][ 列長度 ]={ 初值表?}
//按順序把值賦予數組里面
int a[2][2]={1,2,3,4}
9,其他
?1.? ? int N=5, b[N][N];? 定義是正確的
2.假定int類型變量占用兩個字節,其有定義:int x[10]={0, 2, 4}; 則數組x在內存中所占字節數是(D)
A.6
B.3
C.10
D.20
定義了10個整形大小。所以 是10*2.
總結
以上是生活随笔為你收集整理的C语言 数组(做个笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 治疗输卵管积水好的办法
- 下一篇: C语言 函数(做个笔记)