1. <track id="ob6no"><strike id="ob6no"><tt id="ob6no"></tt></strike></track>

      <track id="ob6no"></track>

      當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 字符串常量和字符串變量

      字符串常量和字符串變量 時間:2019-05-27      來源:華清遠見

      字符常量是由一對單撇號括起來的單個字符,如 ‘a’、‘C’、‘?’,‘$’。在C語言中,除了字符常量還有字符串常量以及字符串變量,先來講一下字符串常量的個人理解:

      (1)常量本質在于不可更改,而字符串常量是就是一對雙引號括起來的字符序列常量。例如“hello word”C語言中規定,在每一個字符串常量的結尾,系統都會自動加一個字符’\0’作為結束標志符。而‘\0’在ascii碼中為0字符,不起任何控制作用,也不是一個顯示的字符。不過在計算字符常量的內存大小時,雙撇號內有n個字符,那么內存大小為n+1個字節。

      (2)字符串變量,值得注意的是字符串常量不能賦給一個字符變量,字符串是一連串字符,而字符變量僅可以存儲一個字符,而且字符串并不屬于數據類型,故C語言中任何數據類型的變量都不能直接存儲一個字符串,那么字符串如何存儲?C語言中有兩種存儲字符串的方式,一種是通過字符數組存儲,一種是通過字符指針存儲。

      C語言中通常使用字符數組作為字符串變量來存放一個字符串,數組中每一個元素存放一個字符,例如“char a[10]="love"”。上例其中a[10]作為存儲字符串常量“love”的字符數組,而字符數組也被字符串“love”初始化其內存空間。而字符數組名就是其存儲的字符串常量首地址。

      另外,字符指針存儲其實質是將字符串首地址賦給字符指針,并且內存位置也是以字符串首地址往后的一片內存空間。例如:char *buf=“hello”,其中buf為字符串首地址,字符串存儲為buf地址開始的連續內存空間,可以使用buf++遍歷字符串。值得注意的一點是*buf為指向字符串首地址內容,即字符h所在地址。若想輸出打印字符串,使用buf++遍歷是一種,也可以利用字符串首地址以字符串格式輸出打印,例如:printf(“%s”,buf);

      上一篇:什么是結構體

      下一篇:Object中有哪些公共方法及作用

      熱點文章推薦
      華清學員就業榜單
      高薪學員經驗分享
      熱點新聞推薦
      前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2018 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號
      操你啦,操你啦视频,操你啦影院,操你啦网站