C語言(字串的本質)

2021-07-09 18:38:27 字數 339 閱讀 7638

c語言沒有字串型別,所有的字串其實都是字元指標,而且是乙個指向其首字元的指標。比如"abc"就是乙個指向字元'a'的指標。

拓展:char *p = "abc"; 

此處,就是將'a'的位址賦值給了指標p,因此我們一般說「p指向了字串"abc"其實只是一種簡便的習慣說法,嚴格地說法應該是「p指向了字串"abc"的首字元'a'」。

根據這個小知識點,和指標運算規則,我們就會得出一些匪夷所思但卻正確的表示式:

"abc"[1] 其實就是 'b',你可以列印出來試試:printf("%c\n", "abc"[1]);

1["abc"] 其實也是'b'

怎樣?c語言好玩吧。

C語言字串 字串排序

本題要求編寫程式,讀入5個字串,按由小到大的順序輸出。輸入為由空格分隔的5個非空字串,每個字串不包括空格 製表符 換行符等空白字元,長度小於80。按照以下格式輸出排序後的結果 after sorted 每行乙個字串 red yellow blue green white after sorted b...

c語言字元轉字串 C語言字串的另類用法

講這個例子前,咱們先來看乙個簡單的程式 字串陣列實現數字轉字母 include include int main void 當然我們也可以這麼寫,用指標的形式來表示 include include int main void 同樣的,結果也是和上面是一樣的,我們再對這種寫法進行簡化,如果初學者的基礎...

C語言的字串

在 c 語言中,字串實際上是使用 null 字元 0 終止的一維字元陣列。ps char 型變數預設初始化的值為 0 由於在陣列的末尾儲存了空字元,所以字元陣列的大小比單詞 hello 的字元數多乙個。其實,不需要把 null 字元放在字串常量的末尾。c 編譯器會在初始化陣列時,自動把 0 放在字串...