目錄
1. 問題描述
2. 四種方式
1) 順序賦值初始化
2) 迴圈輸入初始化
3) 迴圈隨機初始化
4) 以0初始化陣列
3. 執行例項
在初學raptor時,經常會遇到如下問題:對10個同學的成績進行排序、對一組數進行排序、斐波那契數列等等。這些涉及到一系列資料的問題往往可以利用陣列來比較方便的解決。通過利用陣列,緩解了定義多個變數的困擾,下面以一維陣列為例,簡要介紹陣列初始化資料的四種方式,並簡要介紹其優缺點。
陣列名為a,其中有8個元素,分別是0-7,如下圖所示:
優點:對於某些輸入不會變動的資料,可以這樣輸入,比如如果陣列a代表的是八進位制的8個基數,那麼就是永遠不會變動的,所以可以這樣定義。上面的例子不是很好,如果是16進製制可能會更有說服力,因為16進製制的基數不光有陣列,還有字母。
缺點:喪失了陣列的優勢,一次賦值後,後面如果想要使用就要重新賦值,及其不方便,所以這個方法如果沒有必要使用就不要使用。
陣列名為b,通過輸入陣列的長度變數n,再通過迴圈輸入建立陣列,如下圖所示:
優點:充分利用了陣列能組織資料的這一特點,對於陣列長度和輸入資料都不確定的問題,這個方法非常有用。
缺點:
① 某些問題對於輸入資料沒什麼要求的情形,還要自動手動輸入,有些不太方便;
② 如果讓初始化的陣列結果為全部為0,通過更改輸入框為賦值框可以實現,但是不是最簡單的方法,最簡單的方法見方式4。
陣列名為c,陣列長度n可以自己輸入,陣列中的元素為[0, 99]的隨機整數(關於生成任意範圍的隨機數,可以參考我之前的部落格:raptor中生成任意範圍的隨機數),如下圖所示:
優點:① 對於有些問題,題目要求陣列中的元素為一定範圍的隨機數,所以必須用這種方式;
② 對於輸入沒什麼要求的問題,可以用隨機初始化的方法,比如金塊問題、資料排序問題;
③ 節省了手工輸入資料的時間,對於驗證某些演算法的可行性時,經常採用隨機初始化陣列的方式,比如排序演算法。
缺點:
基本上沒什麼缺點,這種方式可應對一大類對陣列資料沒有要求的問題
陣列名為d,陣列長度n通過輸入指定,陣列初始值全部為0,如下圖所示:
優點:當陣列初始值要求全部為0時,此方法非常便捷!
缺點:
不能拓展到陣列初始值全部為非0值的情形。
下面是主圖和用於展示資料的子程式:
結果:
C語言 結構體四種初始化方法
struct initmember struct initmember test 需要注意對應的順序,不能錯位。struct initmember test test.first 10 test.second 3.141590 test.third method two test.four 0.25...
C語言結構體初始化的四種方法
struct initmember struct initmember test 需要注意對應的順序,不能錯位。struct initmember test test.first 10 test.second 3.141590 test.third method two test.four 0.25...
C語言結構體初始化的四種方法
轉 載 方法三 定義時亂序賦值 c風格 這種方法類似於第一種方法和第二種方法的結合體,既能初始化時賦值,也可以不考慮順序 方法四 定義時亂序賦值 c 風格 這種方法和前一種類似,網上稱之為c 風格,類似於key value鍵值對的方式,同樣不考慮順序。struct initmember test 結...