目錄
介紹:
一維整型數組:
聲明:
初始化:
打印輸出:
輸出結果:
浮點型數組:
代碼:
運行結果:
補充:
一維字符數組:
字符數組聲明及初始化:
部分全部代碼:
總結:
介紹:
本篇文章將同時介紹一維整型,浮點型,字符數組
一維整型數組:
聲明:
int?+?數組名[數組長度(也可以不寫)]
初始化:
來看代碼解釋初始化方法
int a[ ] :?a這個數組的長度雖然沒寫 但是因為后面的初始化?這個數組的長度是6
int a1[6] :?a1這個數組的初始化就是最標準的聲明及初始化方式
還有一種方式:
int a2[6]: a2這個數組的初始化 是從鍵盤輸入數值(很顯然輸入六個值)?大家應該我的第一行代碼是什么意思?
因為我用的Visual Studio 2022 編譯器?不加第一行代碼scanf用不了?
打印輸出:
那么怎么輸出這幾個數組呢?來看代碼:
倒數三個for循環就是用來打印三個數組 所以打印數組就得用for循環??如果大家還有什么辦法評論區發言哦
輸出結果:
第一行就是a2數組的輸入
2,3,4行就分別是三個數組的?輸出結果
浮點型數組:
代碼:
這里的代碼就不做講解了 大家可以看上文
運行結果:
?
這里第一行和小編上一篇文章一樣?輸入了一個數組?
補充:
大家先看小編給大家寫的一個圖片:
看完這個圖片小編補充一下
就是數組 a[6]:?"[? ?]"?里面的數字6?代表這個數組有6個元素?就是6 個int類型的數字?
然后 如果咱們想要用數組里的第一個數字1?我們要取a[0]
所以很容易發現一個規律:想要數組里的第n個數?a[n - 1]??就是那個數
一維字符數組:
字符數組聲明及初始化:
來看代碼:
1.數組b就是 最普遍的初始化字符數組和聲明數組的方法 可以看到和 之前講過的整型數組非常相似 就是存儲的數據類型不同?
2.數組a就有點不同了 大家可以發現 相比于數組b 數組a多了一個‘\0’ 這就說明 數組a可以當做字符串使用了 因為它具備了字符串的標志‘\0’ ?‘\0’ 就是字符串的結束符 每個字符串都應具有的標志 否則 計算機就找不到字符串的頭在哪了 就會一直讀 會出現一堆亂碼 直到讀到字符串數組的最后一個元素 和整型一樣 沒有初始化的元素 系統會隨機顯示一些數 而有了結束符之后 系統就不會往后讀了 這些 下面講
注意:像數組a,b這種初始化方式 未初始化的部分都是空 就打印出來什么都沒有
?
可以看到并沒有出現亂碼 這里聽不懂的 就懂了
3.數組a1就是把a1看成了一個字符串 這個時候系統會自動在數組的后面加一個‘\0’ 不需要我們手動加 還要注意一點就是數組的長度要比我們存進去的字符串的長度大 因為得給‘\0’ 留一個位置啊 它可是大哥啊
4.數組a2與a1一樣 所以可以看到 ?當要聲明一個字符串的時候 加不加{ }都無所謂?
5.數組a3 這個數組可以發現僅僅聲明了 并沒有初始化 下面是他的初始化代碼
?
?
?gets函數就是用來初始化這個a3數組的 通過代碼可以看到這個函數的用法 原理就是咱們自己輸入
一個字符串然后存在a3里 但是記住輸入的字符串長度不可以超過14 因為要給‘\0’ 留一個位置啊 很顯然 gets函數 也是自動在字符串的后面補個‘\0’ 沒有‘\0’ 怎么能叫做字符串呢
puts函數用來打印字符串 當然你也可以用printf函數 但是puts函數打印完一個字符串會換行
來看這段代碼的執行結果:
很顯然咱們輸入zsm了zsm?
再來看看用printf打印字符串?
很顯然打印完字符串的時候沒有換行 而且我們要用“%s”?去打印字符串 同時可以發現 我們只寫了a3 就打印字符串了 所以當我們打印字符串時 傳入字符串的首地址就會打印字符串了 直到‘\0’?為止
6.數組a4?下面是他的初始化代碼:
?
EOF?這里就不深說了 我告訴大家怎么用 就是咱們不是輸入字符串嗎 當你不想輸的時候 就先回車?在?ctrl + z 回車 (重復三次就完事了)
再說一個細節 就是scanf函數不接收空格 但是它可以補‘\0’??當前面是%s的時候
來看執行結果
^Z 就是ctrl + z啦
其實還有另一種寫法
這種就不需要?ctrl + z那種操作啦
來看執行結果
可以看到 我輸入了zsm zsm
但是只打印了zsm 因為scanf函數不接收空格
所以當有空格的時候?scanf函數?就停止輸入了
7.數組a5
?這個也一樣用到了EOF? 但是這個不需要重復操作ctrl + z 只需要一次?所以為了好記 大家就記住 遇到EOF?想要結束直接回車然后重復ctrl + z + 回車就完事了直到結束來看執行結果
可以看到在輸出完zsm 之后又來一堆亂碼 這就是 沒有??‘\0’??的緣故 系統讀到了 沒有初始化的部分?
來介紹一種解決辦法 來看代碼
就是按照常規打印數組的方式 打印 有幾個打幾個
部分全部代碼:
?
這里并沒有頭文件大家自己添加吧?
輸出結果:
總結:?
本期內容到此結束啦
大家每天進步一點點就好啦
持續關注我的數組內容哦
再送大家一句話?鍥而舍之,朽木不折;鍥而不舍,金石可鏤
散會!!!
?
?
?
?
?
?
?
?
?