C語言day06-14數(shù)組 - 初始化

pragma mark 數(shù)組 - 初始化

pragma mark 概念

pragma mark 代碼

#include <stdio.h>
int main()
{
    // 需求保持全班101個人的分數(shù)
    // 元素類型 元素名稱[元素個數(shù)];
    // 先定義再初始化
    /*
    int scores[5];
    scores[0] = 99;
    scores[1] = 66;
    scores[2] = 55;
    scores[3] = 44;
    scores[4] = 100;
     */
    
    /*
     int number;
     number = 10;
     
     int number1 = 10;
     */
#pragma mark 數(shù)組的初始化 (完全初始化、部分初始化)
//    int scores[5] = 99,88,77,66,55; // 錯誤寫法
    // 一次獎{}中每一個值賦值給數(shù)組中的每一個元素
    // 并且從0開始賦值
    // 也稱之為數(shù)組的初始化(完全初始化)
    int scores[5] = {99,88,77,66,55};
//    printf("scores[0] = %i\n,scores[1] = %i\n,scores[2] = %i\n,scores[3] = %i\n,scores[4] = %i\n",scores[0],scores[1],scores[2],scores[3],scores[4]);
    
    // 部分初始化
    // 默認從0開始初始化
    // 注意:如果"在部分初始化中"對應的內(nèi)存沒有被1初始化,那么默認是0
    int scores1[3] = {11,22};
    printf("0 = %i\n",scores1[0]);
    printf("1 = %i\n",scores1[1]);
    printf("2 = %i\n",scores1[2]);
   
    printf("------------------\n");
    // 注意:如果沒有對數(shù)組進行初始化(完全和部分),那么不要隨便使用數(shù)組中的數(shù)據(jù),可能是一段垃圾數(shù)據(jù)(隨機值)
    int socres2[3];
    printf("0 = %i\n",socres2[0]);
    printf("1 = %i\n",socres2[1]);
    printf("2 = %i\n",socres2[2]);
    
#pragma mark 使用變量做為數(shù)組的元素個數(shù) 情況 (不可以)
    printf("------------------\n");
    // 注意:定義數(shù)組的時候,數(shù)組的元素個數(shù)不能使用變量,如果使用變量,那么數(shù)組中是一些隨機值
    int num = 10;
    int scores3[num];
    printf("0 = %i\n",scores3[0]);
    printf("1 = %i\n",scores3[1]);
    printf("2 = %i\n",scores3[2]);
    
    // 注意:不建議使用變量定義數(shù)組,如果使用了變量定義數(shù)組,作為數(shù)組的元素個數(shù),不初始化的情況下是隨機值,如果初始化會直接報錯
    int num2 = 10;
//    int scores4[num2] = {11,12}; 錯誤寫法
    
#pragma mark 初始化省略元素個數(shù)的情況
    // 注意:如果定義的同時進行初始化,那么元素的個數(shù)可以省略
    // 省略之后,初始化賦值幾個數(shù)據(jù),那么數(shù)組的長度就是幾,也就是說數(shù)組將來就能存儲幾個數(shù)據(jù)
    printf("------------------\n");
    int scores5[] = {11,3};
    printf("0 = %i\n",scores5[0]);
    printf("1 = %i\n",scores5[1]);
    
    // 注意:如果定義數(shù)組時沒有進行初始化,那么不能省略元素個數(shù)
//    int scores6[];// 錯誤寫法
    
    printf("------------------\n");
//    0,1,2,3,4
//    int scores7[5] = {0,0,0,1,3};
//    printf("3 = %i\n",scores7[3]);
//    printf("4 = %i\n",scores7[4]);
//    int scores7[101];
//    scores7[99] = 1;
//    scores7[100] = 221;
    
#pragma mark 給指定的索引元素賦值
    // 可以通過[索引] = 方式,給指定的索引元素賦值
    int scores7[101] ={[99] = 1,[100] = 3};
    printf("99 = %i\n",scores7[99]);
    printf("100 = %i\n",scores7[100]);
    
    // 注意:只能在定義的同時利用{}進行初始化,如果是先定義那么久不能使用{}進行初始化
    // 如果先定義那么就不能進行整體賦值,只能單個賦值
    int scores8[3];
//    scores8 = {1,4,6};
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容