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;
}