1.字串字面量(字串常量):用雙引號括起來的內容稱為字串字面量,也叫字串常量。
字串常量屬於靜態儲存類別,這說明如果在函式中使用字串常量,該字串只會被儲存一次,在整個程式的生命期內存在,計時函式被呼叫多次。
用雙引號括起來的內容被視為指向該字串儲存位置的指標。*「hello」中的「hello」類似於乙個陣列名,表示首元素的位址。
2.字串陣列和初始化
在定義乙個字串時,注意最後要用空字元,如果沒有空字元,就不是乙個字串,而是乙個陣列。但計算乙個字串的長度時,並不包含這個空字元。
字串以陣列的形式存在,以陣列或指標的形式訪問,更多的是以指標的形式訪問。
指標表示法: char *pr="hello" ;
陣列表示法: char pr[ ]="hello" ;
那char*是不是字串?不一定,只有當他所指的字元陣列結尾有空字元時,它才是字串。
3.陣列和指標的區別
char a[ ]="hello";
const char *b="hello";
兩者的主要區別是:陣列名a是常量,而指標名b是變數。
但b可以如++b,表示指向第二個字元。
字串字面量被視為const資料,這意味著b不能改變它所指向的資料,但仍然可以改變b的值。
字串和字串函式
字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...
字元和字串函式
求字串長度 strlen size t strlen const char str 返回字串中 0 前面出現字元的個數模擬實現 計數器方式 int my strlen const char str return count 遞迴方式 int my strlen const char str 指標 指...
C語言 字串和字串函式
輸入 gets 函式 1.gets 從標準輸入裝置讀取字串,以回車結束讀取,使用 0 結尾,回車符 n 被捨棄沒有遺留在緩衝區。2.可以用來輸入帶空格的字串。3.可以無限讀取,不會判斷上限,因此使用gets不安全,可能會造成溢位。fgets 和 fputs 函式 1.fgets函式的第2個引數指明了...