C語(yǔ)言程序設(shè)計(jì)(第5章數(shù)組)4

字號(hào):

5.4 數(shù)組的初始化
    5.4.1 數(shù)組初始化
    C語(yǔ)言允許在說明時(shí)對(duì)全局?jǐn)?shù)組和靜態(tài)局部數(shù)組初始化,但不能對(duì)非靜態(tài)局部數(shù)組初始化。
    與其它變量相似,數(shù)組初始化的一般形式如下:
     type-specifier array_name[size1]...[sizen]={value-list};
     數(shù)值表是一個(gè)由逗號(hào)分隔的常量表。這些常量的類型與類型說明相容,第一個(gè)常量存入數(shù)組的第一個(gè)單元,第二個(gè)常量存入第二個(gè)單元,等等,注意在括號(hào)“ }”后要加上分號(hào)。
     下列中一個(gè)1 0元素整型數(shù)組被初始化裝入數(shù)字1到10:
     int i[10]={1,2,3,4,5,6,7,8,9,10 } ;
    這意味著i[0]的值為1,而i[9]的值為10。
    存放字符串的字符數(shù)組的初始化可采用如下簡(jiǎn)化的形式:
     char array_name[size] = "string";
     例如,以下代碼段將str 初始化為”hello”。
     char str[6] = "hello";
     上面代碼產(chǎn)生和下面代碼相同的結(jié)果:
     char str[6]={’h’,’ e ’ ,’ l ’ ,’ l ’ ,’ o ’ ,’\o ’};
     因?yàn)镃語(yǔ)言中的字符串都以空( NULL)字符為終結(jié),故要確認(rèn)定義的數(shù)組足夠長(zhǎng)以存放空字符。這就是為什么h ello只有5個(gè)字符,而str 要有6個(gè)字符長(zhǎng)的原因。使用字符串常量時(shí),編譯程序自動(dòng)地在末尾加上空字符。
     多維數(shù)組初始化的方法與一維數(shù)組相同,例如,下式將sqrs初始化為從1到1 0及它們各自的平方數(shù)。
    int sqrs[10][2]={
     1,1,
     2,4,
     3,9,
     4,1 6 ,
     5,2 5 ,
     6,3 6,
     7,4 9 ,
     8,6 4 ,
     9,8 1,
     1 0,1 0 0 ,
     } ;