數(shù)組
聲明
float candy[365];
聲明了一個float數(shù)組,數(shù)組名是candy纺讲,數(shù)組有365個元素,數(shù)組index是0 ~ 364囤屹。未初始化熬甚,數(shù)據(jù)默認全0。
- candy[0] 存儲數(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ù)組長度時,自動填充0.
3.制定初始化器
int arr[6] = {0, 0, 0, 0,0, 212};
int arr[6] = { [5] = 212}
以上兩種方式等價冲簿。
借助下標(索引)賦值
int counter, events[SIZE];
for(counter = 0; counter < SIZE; counter++) {
events[counter] = 2 * counter;
}
注意粟判,這里只能使用循環(huán)依次給數(shù)組元素賦值。C不允許把數(shù)組作為一個單元賦給另一個數(shù)組峦剔。
同時要嚴格注意邊界档礁。counter必須小于SIZE。
const聲明數(shù)組
表明數(shù)組為只讀數(shù)組吝沫,元素不能修改呻澜。
const int days[MONTHS] = {31, 28, 31, 30, 31, 31, 30, 31, 30, 31};
存儲類別
- 在函數(shù)內(nèi)部聲明的數(shù)組,并且未使用static關(guān)鍵字惨险,屬于自動存儲類別羹幸。
多維數(shù)組
float rain[5][12];
rain[5]表示定義了5個數(shù)組,[12]表示這5個數(shù)組分別存放了12個float類型的元素辫愉。
理解上是5行12列的二維數(shù)組栅受。實際存儲是按順序存儲的,先是第一個1-12個元素,再是第2 個1-12和元素屏镊。依疼。。
初始化二維數(shù)組
const float rain[YEARS][MONTHS] = {
{},
{},
{}
};
其他多維數(shù)組
數(shù)組和指針
指針提供一種以符號形式使用地址的方法而芥。
數(shù)組名是數(shù)組第一個元素的地址律罢。
rain = &rain[0]; 兩者都是地址,不能被改變棍丐。但是可以將數(shù)組地址賦值給指針误辑,指針?1相當(dāng)于數(shù)組下標?1。增加的是所指向類型的大薪拘铩(以byte為單位)稀余。
指針的值是它所指向?qū)ο蟮牡刂贰?/p>
*
解引用,取指針對象的值趋翻。
&
引用睛琳,取對象的地址。
dates + 2 = &dates[2];
*(dates + 2) = dates[2];