新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 《C與指針》讀書筆記八

《C與指針》讀書筆記八

作者: 時(shí)間:2016-08-19 來源:網(wǎng)絡(luò) 收藏

  字符串是語言中常用的一種數(shù)據(jù)形式。包含了ASII碼取值范圍是0~127。ASII是American Standard Code for Information Interchange(美國信息**標(biāo)準(zhǔn)代碼)。以前我有一位年輕的同事,是一位愛國主義青年。每當(dāng)國家邦交出現(xiàn)問題時(shí)恨不得用中文編程。其實(shí)美國科學(xué)家成果也是屬于全人類的。這么想也就釋然了。

本文引用地址:http://m.butianyuan.cn/article/201608/295758.htm

  ASCII基本包括了編程所需全部字符。而且每一個(gè)ASCII碼與char型數(shù)據(jù)是等價(jià)的。比如:

  char ch;

  ch = 0x30;

  ch = 0x30與 ch = ‘0’ 是完全等價(jià)的。因?yàn)樽址?(不是數(shù)字0)的值就是48,也就是0x30。所以字符完全可以進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。

  比如 ch = ‘0’ + 2; 是完全可以運(yùn)算的。運(yùn)算結(jié)果ch值為 ‘2’,也就是0x32。既然char數(shù)據(jù)是是0~127整型數(shù)據(jù)。那么邏輯運(yùn)算也是完全可以的。

  比如: ‘a’ > ‘b’ 運(yùn)算結(jié)果為真。‘b > ‘a’結(jié)果就一定位假了。’2’是單個(gè)字符。如果將字符與數(shù)組結(jié)合起來在信息交流方面當(dāng)然非常有用。

  記得當(dāng)年使用DOS6.22時(shí),程序在運(yùn)行過程中如果要輸出一個(gè)提示,那么使用字符串當(dāng)然非常方便。Printf函數(shù)的參數(shù)就有一個(gè)字符串。

  比如:

  char MSG[5] = { 'h', 'a', 'p','p', 'y'};

  該數(shù)組與char MSG[5] = {0x68, 0x61, 0x70, 0x70, 0x79}完全等價(jià)??梢酝ㄟ^下表索引到每一個(gè)元素。如果需要輸出該數(shù)組,以下代碼可以實(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");

  }

  編譯后運(yùn)行輸出結(jié)果為:

  happy

  68 61 70 70 79

  字符串與數(shù)組的區(qū)別是字符串由一個(gè)隱含的結(jié)束符’