新聞中心

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

《C與指針》讀書筆記八

作者: 時間: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)問題時恨不得用中文編程。其實美國科學(xué)家成果也是屬于全人類的。這么想也就釋然了。

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

  ASCII基本包括了編程所需全部字符。而且每一個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é)束符’