【C语言笔记初级篇】第四章:数组入门
目錄
(1)一維數組
A:數組的創建
B:數組初始化
C:一維數組的使用
D:一維數組在內存中的存儲
(2)二維數組
A:二維數組的創建
B:二維數組的初始化
C:二維數組的使用
D:二維數組的存儲方式
(3)數組作為函數參數
A:數組名是什么
B:冒泡排序
(1)一維數組
A:數組的創建
B:數組初始化
第一點:各種各樣的初始化方式
以下是經常使用到的幾種初始化方式
第二點:需要注意的地方
其中需要注意對于不完全初始化,int數組,沒有被初始化的元素為0
還有字符數組有兩種寫法,這兩種寫法內存分配是不同的,尤其配合sizeof和strlen兩個函數可以鮮明的反映出來
C:一維數組的使用
第一點:數組通過“[ ]”操作符來引用,也就是用下標訪問,從0開始
第二點:數組的大小可以通過計算得到
D:一維數組在內存中的存儲
使用以下代碼探究一維數組在內存中的存儲方式
由以上我們可以得知數組在內存中是連續存放的
(2)二維數組
A:二維數組的創建
B:二維數組的初始化
二維數組可以理解為特殊的一維數組,每一行有四個列分量
二維數組在初始化的時候,行可以省略,但是列絕對不可以省略,同時它在賦值時默認會按照填完一行再填一行的方式
如果想要讓它填充在特定行,就需要用括號自己去分割
C:二維數組的使用
二維數組的使用也是依靠下標
D:二維數組的存儲方式
二維數組雖然看起來像一個矩陣,但是其實他也是連續存儲的,如下圖
(3)數組作為函數參數
A:數組名是什么
第一點:數組名就是數組首元素的地址(兩個特殊情況除外)
如果數組名是數組首元素的地址,那么對數組名的地址和數組首元素的地址一定相等,并且對數組名進行解引用操作得到的結果就是數組首元素
第二點:兩個特殊情況
1:sizeof(數組名),他計算的是整個數組的大小,這里的數組名表示一個數組
2:&數組名,這里的數組名表示數組
關于第二點要做一下特別說明
B:冒泡排序
冒泡排序是排序的經典算法
上述代碼雖然是正確的,但是在面對“912345678”這樣的情況下就有一個致命的確定,將9排序后,剩余數組是有序的,也就是它只需第二趟排序判斷一遍就能知道這是有序的,但是在上述程序設定下,它卻仍然要按規矩走完剩下幾趟排序,所以對上述代碼可以進行一定的優化。如果有一趟的flag在經過判斷后還是1,就表示數組已經有序了,直接可以跳出循環了。
總結
以上是生活随笔為你收集整理的【C语言笔记初级篇】第四章:数组入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库结构查询
- 下一篇: NGUI架构和Draw Call合并原理