牛逼的程式設計師簡述在C語言中,「字符」與「字符串」之間的區別

牛逼的程序員簡述在C語言中,“字符”與“字符串”之間的區別

在C語言中,“字符”與“字符串”之間,是有區別的。這一篇文章中,我們將介紹一下,在C語言中的“字符”與“字符串”,它們之間的區別。

首先,一個很明顯的區別是:

“字符”,使用單引號作為定界符,而“字符串”,是使用雙引號作為定界符。

我們可以先寫一個定義“字符”的程序代碼段:

牛逼的程序員簡述在C語言中,“字符”與“字符串”之間的區別


上述C語言程序中,第5行,就是定義了一個“字符”變量str,定義“字符”變量的時候,使用關鍵字“char”,從本質上來說,關鍵字“char”定義的也是一個整數,這個整數在內存中佔據一個字節。與ASCII碼錶相對應。比如常用的ASCII碼錶的對應關係是:數字48表示字符'0';數字65表示字符'A';數字97表示字符'a'

在定義一個“字符”的時候,定界符要寫成單引號。在屏幕上打印一個字符的時候,需要在printf函數中,使用“%c”這個佔位符。

我們再來看一下,定義一個字符串的代碼片段:


牛逼的程序員簡述在C語言中,“字符”與“字符串”之間的區別


上述C語言程序中,第5行,是定義了一個“字符串”。使用的是char類型的數組格式。另外,在字符串常量兩邊的定界符中,使用的是雙引號。

在屏幕上要打印一個字符串的時候,在printf函數中,使用的是“%s”這個佔位符。與“字符”的“%c”這個佔位符是不同的。

“字符”與“字符串”之間,除了定界符不同之外,還有一個區別是:

“字符”佔據一個字節,但是“字符串”是佔據多個字節。而且,在“字符串”的結尾處,自動被編譯器加上了'\0'這個字符,在ASCII碼中,'\0'表示的是一個空字符。

如果在定義一個字符串常量的時候,使用了單引號,程序就會報錯。在定義字符串的時候,需要在變量名後面加上“中括號”,類似於定義“數組”時候的格式。

如果大家對於學習C++有任何問題,可以隨時來諮詢我,關注我的頭條號,私信我“資料”會自動回覆C++的學習資料以及學習方法和如何找工作的下載地址,還有我的C++2000人交流學習群,希望大家可以少走彎路。


分享到:


相關文章: