c語言中的字符串

一、C語言中的字符串
c語言中沒有字符串類型
字符串實際就是多個字符連在一起,所有可以用字符數組來存放字符串。
但是使用字符數組輸出時需要使用for循環

例如:


這樣使用十分不方便,有沒有一種簡約的方式,讓我們一下子就能輸出呢?
有但是需要改兩個地方!
        1.長度要+1
        2.末尾要加一個'\0'
然後用 %s(格式化控制符)就可以輸出了!
        %s輸出:字符串的
例如:


比使用for循環簡單多了。


簡單來說:
字符串:把多個字符連在一起就叫字符串。但是在C語言中要正確正確描述字符串,必須說成:一串以'\0'結尾的字符集合
例:
        char str[3] = {'a','b','c'};
        只能稱之爲字符數組,因爲無法用%s正確輸出
 
        char str[4] = {'a','b','c','\0'};
        才能稱之爲字符串,可以用%s正確輸出


字符串定義和賦值的方法
a、用數組表示
        第一種:用多個字符賦值
            char 數組名[實際長度+1] = { 'a','b','c','\0' }; 
如:char str[4] = {'a','b','c','\0'};
 
        第二種:
            char str[] = {'a','b','c','\0'};//省略長度
如:char str[] = {'a','b','c','\0'};
        第三種:
            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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章