一、c語言中的字串
c語言中沒有字串型別
字串實際就是多個字元連在一起,所有可以用字元陣列來存放字串。
但是使用字元陣列輸出時需要使用for迴圈
例如:
這樣使用十分不方便,有沒有一種簡約的方式,讓我們一下子就能輸出呢?
有但是需要改兩個地方!
1.長度要+1
2.末尾要加乙個'\0'
然後用 %s(格式化控制符)就可以輸出了!
%s輸出:字串的
例如:
比使用for迴圈簡單多了。
簡單來說:
字串:把多個字元連在一起就叫字串。但是在c語言中要正確正確描述字串,必須說成:一串以'\0'結尾的字元集合
例:char str[3] = ;
只能稱之為字元陣列,因為無法用%s正確輸出
char str[4] = ;
才能稱之為字串,可以用%s正確輸出
字串定義和賦值的方法
a、用陣列表示
第一種:用多個字元賦值
char 陣列名[實際長度+1] = ;
如:char str[4] = ;
第二種:
char str = ;//省略長度
如:char str = ;
第三種:
char 陣列名[實際長度+1] = "字串";
例: char str[4] = "abc";
注意:這種方式不需要加\0,編譯器自動幫我們加
第四種:
char 陣列名 = "字串";//省略長度
例: char str = "abc";
注意:這種方式不需要加\0,編譯器自動幫我們加
b、用指標表示
char *指標變數名 = 字串常量;
例: char *str = "abc";
注意:陣列表示法和指標表示法的區別:
1.陣列表示法可以改變裡面的值,指標表示法不可以
指標表示法指向的是字串常量,常量不可改變。
2.陣列表示法可以接收使用者輸入的值,指標表示法不可以
同理:指標表示法指向的是字串常量,常量不可改變。
3.陣列表示法不能用==來判斷乙個字串另外乙個字串常量是否相等
( 例:char str="abc"; if(str == "abc"))
指標表示法可以用==來判斷乙個字串和另外乙個字串常量是否相等strcmp
(例:char *str = "abc"; if(str=="abc"))
比較字串一般使用字串比較函式strcmp
C語言中的字串
從概念上講,c語言中沒有字串型別 在c語言中使用字元陣列來模擬字串 c語言中的字串是以 0 結束的字元陣列 c語言中的字串可以分配於棧空間,堆空間或者唯讀儲存區 char s1 沒有 0 所以s1只不過是個單純的字元陣列 char s2 也是乙個字元陣列,但是最後乙個元素是 0 因此s2就成了c語言...
C語言中的字串
1.標準函式gets與puts分別用於字串的整體輸入和輸出,且gets接收字串時,字串中可包含空格。使用格式為 gets 字元陣列 或者puts 字元陣列 由標頭檔案stdio.h支援 2.常用字串處理函式 由標頭檔案string.h strlen 測試字串長度的函式,函式返回值為字串的實際長度 s...
C語言中的字串
c語言中沒有字串這種型別,只能通過字元陣列來模擬字串 c風格的字串是以零結尾的字串 char str1 100 指定了長度,那麼剩下的部分補充為0 不指定長度 char str2 char str3 通過字串初始化字元陣列 並且追加 0 char str4 abcd char str5 4 abcd...