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