C語言第四課 數(shù)組和指針

數(shù)組

聲明

float candy[365];

聲明了一個(gè)float數(shù)組,數(shù)組名是candy,數(shù)組有365個(gè)元素,數(shù)組index是0 ~ 364。未初始化,數(shù)據(jù)默認(rèn)全0。

  • candy[0] 存儲(chǔ)數(shù)組length。

MAX_SIZE

const int MAX_SIZE = 365;

初始化

1.使用{}初始化列表方式初始化。

int days[MONTHS] = {31, 28, 31, 30, 31, 31, 30, 31, 30, 31};

2.{}里面數(shù)量少于數(shù)組長度時(shí),自動(dòng)填充0.

3.制定初始化器

int arr[6] = {0, 0, 0, 0,0, 212};
int arr[6] = { [5] = 212}

以上兩種方式等價(jià)。

借助下標(biāo)(索引)賦值

int counter, events[SIZE];
for(counter = 0; counter < SIZE; counter++) {
    events[counter] = 2 * counter;
}

注意,這里只能使用循環(huán)依次給數(shù)組元素賦值。C不允許把數(shù)組作為一個(gè)單元賦給另一個(gè)數(shù)組。
同時(shí)要嚴(yán)格注意邊界。counter必須小于SIZE。

const聲明數(shù)組

表明數(shù)組為只讀數(shù)組,元素不能修改。

const int days[MONTHS] = {31, 28, 31, 30, 31, 31, 30, 31, 30, 31};

存儲(chǔ)類別

  • 在函數(shù)內(nèi)部聲明的數(shù)組,并且未使用static關(guān)鍵字,屬于自動(dòng)存儲(chǔ)類別。

多維數(shù)組

float rain[5][12];

rain[5]表示定義了5個(gè)數(shù)組,[12]表示這5個(gè)數(shù)組分別存放了12個(gè)float類型的元素。
理解上是5行12列的二維數(shù)組。實(shí)際存儲(chǔ)是按順序存儲(chǔ)的,先是第一個(gè)1-12個(gè)元素,再是第2 個(gè)1-12和元素。。。

初始化二維數(shù)組

const float rain[YEARS][MONTHS] = {
    {},
    {},
    {}
};

其他多維數(shù)組

數(shù)組和指針

指針提供一種以符號(hào)形式使用地址的方法。
數(shù)組名是數(shù)組第一個(gè)元素的地址。
rain = &rain[0]; 兩者都是地址,不能被改變。但是可以將數(shù)組地址賦值給指針,指針?1相當(dāng)于數(shù)組下標(biāo)?1。增加的是所指向類型的大小(以byte為單位)。
指針的值是它所指向?qū)ο蟮牡刂贰?/p>

*

解引用,取指針對(duì)象的值。

&

引用,取對(duì)象的地址。

dates + 2 = &dates[2];
*(dates + 2) = dates[2];

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容