字元陣列與字串

2021-09-28 11:34:03 字數 1314 閱讀 7796

char str[6] = ;

char str2[6] = 「world」;

printf("%s\n",str);

scanf("%s",str2);

for(i=0;str[i]!=0;i++)

說明:①系統為了明確區分記憶體上的字串從屬關係,它會去尋找空字元,(ascii嗎為0),我們稱為結束符,從陣列名指標位一直往後找,知道找到空字元為止。

②:既然字元陣列不是乙個整體,但是我們希望依舊將它當做乙個整體來使用,這時需要幾個函式:

1:能夠互相整體賦值

2:能夠整體之間比較大小

以上兩個操作我們都必須通過封裝函式來實現

char str1[6] = 「hello」;

char* str2 = 「world」;

printf("%s\n",str1);

scanf("%s",str2);會段錯誤;常量不允許修改。

等號右邊都是常量字串,存在於常量儲存區

字元陣列的本質,將常量賦值給字元陣列,

指標是指向乙個常量,不允許修改

所以字串用得少,僅在只讀取時使用

#include

#include

/*字元陣列的操作,一共有以下幾個函式

① strlen:傳入乙個字元陣列或者字串,測出他的有效長度

② strcpy:字元陣列之間唯一的賦值方式

③ strcmp:字元陣列之間唯一的比較方式

④ strcat:字元陣列之間乙個比較簡單的拼接方式

⑤strtok:字串擷取

*/int _strlen(char* str)

void _strcpy(char* str,char* ptr)

}int _strcmp(char* str,char* ptr)

}return str[i] - ptr[i];

}void _strcat(char* str,char* ptr)

}int main();

char str[50] = 「hello」;

char ptr[50] = 「world」;

char temp[20] = 「123345689098765」;

//printf("%d\n",_strlen(str));

//strcpy(temp,str);

//printf(「temp = %s\n」,temp);

_strcat(str,ptr);

printf("%s\n",str);

return 0;

}void _strtok(char* str,char *ptr)}}

}

字元陣列與字串

字元陣列與字串 字串就是字元的序列,可看作單個資料項。定義在雙引號之間的字元組 雙引號除外 就是乙個字串常量。例 man is abviously made to think 字串變數的宣告與初始化 c語言並不支援字串資料型別。但是,它允許作為字元陣列來表示字串。因此在c語言中,字串變數就是任何合法...

字元陣列與字串

字元陣列與字串 6.3.1 字元陣列的逐個字元操作 案例6.5 從鍵盤輸入乙個字串,回車鍵結束,並將字串在螢幕上輸出。main i 0 while str x0d printf c str i printf n getch 1 字元陣列的定義 1維字元陣列,用於儲存和處理1個字串,其定義格式與1維數...

字串與字元陣列

用scanf輸入字串 include int main scanf s s s 的作用就是輸入乙個字串的,scanf是以回車鍵作為輸入完成標示的,但回車鍵本身並不會作為字串的一部分 如果scanf引數中的陣列長度小於使用者在鍵盤輸入的長度,那麼scanf就會緩衝區溢位,導致程式崩潰 int i fo...