學習C過程中的筆記系列-2

水晶好看嗎發表於2020-11-05


此係列筆記參考C語言中文網。

陣列的定義

資料要放入記憶體必須分配記憶體空間,int a[4]就分配了4個int型別的記憶體空間,需要注意,在使用scanf為陣列挨個賦值時,必須要有取地址符&,比如&a[i],一定要注意!

陣列的的長度最好是常數,不要是變數或者是表示式,否則編譯器可能會出錯。

陣列的記憶體是連續的,連續的記憶體為之後的指標操作提供了便利。

陣列的初始化

可以先定義,後賦值,也可以直接進行賦值操作,用{}包圍,各個值使用逗號進行分割。

如果賦值的元素小於定義的個數,則後面的元素賦值為0

不能寫成int a[10] = 1;這種形式

如果要在初始化階段對陣列全部賦值,那麼在定義陣列時可以不給出陣列的長度

二維陣列

定義的形式為int a[2][2]

初始化可以分段賦值,也可以連續賦值

字元陣列

用來存放字元的陣列為字元陣列,形式為char a[2]

字元陣列實際上是一系列字元的集合,也就是字串(String)。在 C 語言中,沒有專門的字串變數,沒有 string 型別,通常就用一個字元陣列來存放一個字串。

因此,可以進行char str[30] = { “c.biancheng.net” }這樣的操作,當然,在初始化的時候,如果選擇全部初始化,可以不指定陣列的長度。

 char str[] = "hello";

這種是最常用的字串的定義方式

需要注意的是,如果要全部賦值,那麼只能在初始化的時候做。否則只能一個一個地賦值了。

字串的結束標誌!!

在 C 語言中,字串總是以’\0’作為結尾,所以’\0’也被稱為字串結束標誌,或者字串結束符。

這裡又有一個坑:定義字串的時候,會自動加’\0’
但是在單個字元單個字元賦值的時候,就不會加’\0’

相關文章