美文网首页
Chapter 10.1 Array

Chapter 10.1 Array

作者: Vincent_Wu_CS | 来源:发表于2019-01-13 20:08 被阅读0次

    /* 文章內容皆假定讀者有少許C語言基礎 */

    Array

    Array 是由一群具有相同型態(int,float,char 等等)的資料所成的集合

    Array的宣告

    int main(void){
      float farray[10]         Array名稱 'farray', 內含10個相同類型 "float" 的數據
      char carray[20]          Array名稱 'carray', 內含10個相同類型 "char" 的數據
      int iarray[30]           Array名稱 'iarray', 內含10個相同類型 "int" 的數據
    }
    
    Note: 索引 Array 的第一個元素 , ArrayName[0] , 而非 ArrayName[1]    
          //ArrayName為自定義的變數名稱
          因為 Array 的第一個 index 是從 0 開始, 而非 1
    
    10.1.1 初始化 Array
    利用 curly brackets 花括號 '{}' ,對數組初始化, data之間使用逗號 ',' 分隔
    int month[12] = {1,2,3,4,5,6,7,8,9,10,11,12}
    
    寫一個小程式, 印出每個月的天數
    #include <stdio.h>
    #define Months 12 
    int main(void){
        int days[Months] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        
        int index;
        for (index = 0; index < Months; ++index){
            printf ("Month %2d has %2d days.\n", index+1, days[index]);
        return 0;
        }
    }
    

    程式會印出
    Month 1 has 31 days.
    Month 2 has 28 days.
    Month 3 has 31 days.
    以此類推
    然而, 這個程式有小缺陷, 每四年會出錯(閏年)
    程式在第二行,使用了預處理命令 #define, 作者推薦這種寫法
    假如採用一年13個月的記法, 只需修改這行code即可 #define Months 13
    不用在程式中尋找曾經使用過Array大小的地方, 逐一修改

    Note:若要創建'Read-Only Array' 只需要在 宣告Array之前,加上const
    const int days[Months]
    
    Note:在使用Array之前, 沒有對Array作初始化, 即對Array作print
    則會印出Array對應到 '記憶體Memory' 的現有值
    
    
    

    相关文章

      网友评论

          本文标题:Chapter 10.1 Array

          本文链接:https://www.haomeiwen.com/subject/dijkdqtx.html