數(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];