原文地址為:給字符數(shù)組賦值的方法 main() { char s[30]; strcpy(s, "Good News!"); /*給數(shù)組賦字符串*/ . . . } 上面程序在編譯時(shí), 遇到char s[30]這條語(yǔ)句時(shí), 編譯程序會(huì)在內(nèi)存的某處留 出連續(xù)30個(gè)字節(jié)的區(qū)域, 并將第一個(gè)字節(jié)的地址賦給s,。當(dāng)遇到strcpy( strcpy 為 Turbo C2.0的函數(shù))時(shí), 首先在目標(biāo)文件的某處建立一個(gè)"Good News!/0" 的字符串,。 其中/0表示字符串終止, 終止符是編譯時(shí)自動(dòng)加上的, 然后一個(gè)字符一個(gè)字符地復(fù) 制到s所指的內(nèi)存區(qū)域,。因此定義字符串?dāng)?shù)組時(shí), 其元素個(gè)數(shù)至少應(yīng)該比字符串的 長(zhǎng)度多1,。 注意: 1. 字符串?dāng)?shù)組不能用"="直接賦值, 即s="Good News!"是不合法的。所以應(yīng)分 清字符串?dāng)?shù)組和字符串指針的不同賦值方法,。 2. 對(duì)于長(zhǎng)字符串, Turbo C2.0允許使用下述方法: 例如: main() { char s[100]; strcpy(s, "The writer would like to thank you for" "your interest in his book. He hopes you" "can get some helps from the book."); . . . } 指針數(shù)組賦值 例如: main() { char *f[2]; int *a[2]; f[0]="thank you"; /*給字符型數(shù)組指針變量賦值*/ f[1]="Good Morning"; *a[0]=1, *a[1]=-11; /*給整型數(shù)數(shù)組指針變量賦值*/ . . . }
|