《C與指針》讀書筆記八
字符串是C語言中常用的一種數(shù)據(jù)形式。包含了ASCII碼取值范圍是0~127。ASCII是American Standard Code for Information Interchange(美國信息**標(biāo)準(zhǔn)代碼)。以前我有一位年輕的同事,是一位愛國主義青年。每當(dāng)國家邦交出現(xiàn)問題時恨不得用中文編程。其實美國科學(xué)家成果也是屬于全人類的。這么想也就釋然了。
本文引用地址:http://m.butianyuan.cn/article/201608/295758.htmASCII基本包括了編程所需全部字符。而且每一個ASCII碼與char型數(shù)據(jù)是等價的。比如:
char ch;
ch = 0x30;
ch = 0x30與 ch = ‘0’ 是完全等價的。因為字符0(不是數(shù)字0)的值就是48,也就是0x30。所以字符完全可以進(jìn)行算術(shù)運算和邏輯運算。
比如 ch = ‘0’ + 2; 是完全可以運算的。運算結(jié)果ch值為 ‘2’,也就是0x32。既然char數(shù)據(jù)是是0~127整型數(shù)據(jù)。那么邏輯運算也是完全可以的。
比如: ‘a’ > ‘b’ 運算結(jié)果為真。‘b > ‘a’結(jié)果就一定位假了。’2’是單個字符。如果將字符與數(shù)組結(jié)合起來在信息交流方面當(dāng)然非常有用。
記得當(dāng)年使用DOS6.22時,程序在運行過程中如果要輸出一個提示,那么使用字符串當(dāng)然非常方便。Printf函數(shù)的參數(shù)就有一個字符串。
比如:
char MSG[5] = { 'h', 'a', 'p','p', 'y'};
該數(shù)組與char MSG[5] = {0x68, 0x61, 0x70, 0x70, 0x79}完全等價。可以通過下表索引到每一個元素。如果需要輸出該數(shù)組,以下代碼可以實現(xiàn)。
#include
char MSG[5] = { 'h', 'a', 'p','p', 'y'};
void main( )
{
char i;
for( i =0; i < sizeof(MSG); i++)
printf("%c", MSG[i]);
printf("%n");
for( i =0; i < sizeof(MSG); i++)
printf("%0x ", MSG[i]);
printf("%n");
}
編譯后運行輸出結(jié)果為:
happy
68 61 70 70 79
字符串與數(shù)組的區(qū)別是字符串由一個隱含的結(jié)束符’