C語言 基礎六 字串

2021-10-08 00:15:37 字數 1495 閱讀 3813

1、字串描述

字串實際上是使用 null 字元 『\0』 終止的一維字元陣列。因此,乙個以 null 結尾的字串,包含了組成字串的字元。

下面的宣告和初始化建立了乙個 「hello」 字串。由於在陣列的末尾儲存了空字元,所以字元陣列的大小比單詞 「hello」 的字元數多乙個。

char greeting[6]

=;

依據陣列初始化規則,您可以把上面的語句寫成以下語句:

char greeting=

"hello"

;

如果沒有在字元陣列最後增加 \0 的話輸出結果有誤:

// 初始化字串

char greeting[5]

=;printf

("greeting message: %s\n"

, greeting)

;

輸出結果:

greeting message: hello燙燙燙?侵7(?╔?╚╔╔
在使用不定長陣列初始化字串時預設結尾為 \0

char greeting=

"hello"

;printf

("greeting message: %s, greeting length: %d\n"

, greeting,

sizeof

(greeting)

);

輸出結果:

greeting message: hello, greeting[

] length: 6

2、c 中有大量操作字串的函式序號

函式目的

1strcpy(s1, s2);

複製字串 s2 到字串 s1。

2strcat(s1, s2);

連線字串 s2 到字串 s1 的末尾。

3strlen(s1);

返回字串 s1 的長度。

4strcmp(s1, s2);

s1 和 s2 是相同的,則返回 0; s1s2 則返回大於 0。

5strchr(s1, ch);

返回乙個指標,指向字串 s1 中字元 ch 的第一次出現的位置。

6strstr(s1, s2);

返回乙個指標,指向字串 s1 中字串 s2 的第一次出現的位置。

例子

#include

#include

int main (

)

結果

strcpy( str3, str1)

: hello

strcat( str1, str2): helloworld

strlen(str1)

: 10

C語言基礎(六)字串及其操作

2016.7.28 字串 由字元陣列組成並且以 0 作為結束符。用雙引號包圍起來。字串 字元陣列構成 最後元素 0 一般形式 hello world 字串和字元陣列主要區別 0 字元陣列沒有 0 字串有 int main int argc,const char argv 字串初始化 char arr...

C語言 3 字串

字元陣列 char 看做乙個特殊的字元陣列,在字串結束為止新增 0 結束符 ascii碼0 沒有 0結尾的是普通的字元陣列。使用雙引號定義的字串自動在尾部加上 0 puts s 函式 輸出記憶體直至遇到 0 陣列變數名代表了陣列位址,例如char s 20 s就是陣列位址,不用 s gets s 函...

03 字串 基礎

1.string s new string abc 此時記憶體有兩個物件 stringpool裡 abc 堆空間 new string abc string s1 abc 因stringpool裡已經有 abc 物件,所以不會再產生,此時記憶體有兩個物件 string s2 new string a...