在c語言中,單引號和雙引號的含義不一樣,有著本質的區別。
字元:用單引號括起來的乙個字元代表乙個整數,乙個整數,乙個整數,重要的事情說三遍
字串:用雙引號括起來的字元,代表的是乙個指向無名陣列起始位址的指標,該陣列被雙引號內的字元及乙個額外的為'\0'的字元初始化。
'a'是字元a,其16進製為0x61
"a"的意思是乙個字串,有兩個元素,乙個字元'a',另乙個是'\0'
所以 'a'!="a"
c語言中資料型別儲存形式如下:
1.整型資料
正數和負數均以補碼方式儲存
2.實型資料
小數部分:用二進位制表示
指數部分:用2的冪次來表示
3.字元型資料
在記憶體中的儲存方式,是按其對應的ascii碼來儲存的。而所有的ascii**值在記憶體中也是二進位制形式儲存的,與整型在記憶體中的儲存方式類似,所以這兩類之間的轉換也比較方便。
char x =
char x[4]=
char x[5] = 這三個有區別?
區別在於
char x和char x[4]就是4個字元儲存的。
char x[5] 是 x[4]='\0',因為初值個數小於陣列長度,則只將這些字元賦給陣列中前面那些元素,其餘的元素自動定位 空字元 即'\0'
在C語言中的字串
1.如果在定義字元陣列時不進行初始化,則陣列中各元素的值是不可預料的。2.如果花括號中提供的初值個數 即字元個數 大於陣列長度,則按語法錯誤處理。3.如果初值個數小於陣列長度,則只將這些字元賦給陣列中前面那些元素,其餘的元素自動定位 空字元 即 0 char c 10 這個字元陣列一共有9個字元,但...
在c語言中 C語言中的指標和字串
之前我們說過關於字元的一些內容,字元的原理,歸根到底就是將我們常用的一些字元根據編號整理成一張統一的表,每個字元對應著這個表裡面的乙個數值,這一過程就是字元的編碼。然而大多數時候我們根本就不會使用單個字元,比如計算機上面要輸出一句句子 hello world 這個句子裡面就是由多個字元所組成的,分別...
C語言中的字串
從概念上講,c語言中沒有字串型別 在c語言中使用字元陣列來模擬字串 c語言中的字串是以 0 結束的字元陣列 c語言中的字串可以分配於棧空間,堆空間或者唯讀儲存區 char s1 沒有 0 所以s1只不過是個單純的字元陣列 char s2 也是乙個字元陣列,但是最後乙個元素是 0 因此s2就成了c語言...