C中字串的幾種定義方法及說明

2021-06-18 14:13:04 字數 1030 閱讀 4908

在c中定義字串有下列幾種形式:字串常量,char陣列,char指標

1.字串常量

即:位於一對雙括號中的任何字元。雙引號裡的字元加上編譯器自動提供的結束標誌\0字元,作為

乙個字串儲存在記憶體中。如:printf("%s","hello"); //"hello"

如果字串文字中間沒有間隔或間隔的是空格符,ansi  c 會將其串聯起來。例:

char greeting[50] = "hello,and" "how are" "you";

等價於:

char greeting[50] = "hello,and how are you";

字串常量屬於靜態儲存類。靜態儲存是指如果在乙個函式中使用字串常量,即使是多次呼叫了這個函式,

該字串在程式的整個執行過程中只儲存乙份。整個引號的內容作為指向該字串儲存位置的指標。這一點與

把陣列名作為指向陣列儲存位置的指標類似。

2.字串陣列及其初始化

初始化例子:

char m[40] = "hello,world";  //定義字串陣列時必須指定陣列大小(整型常量),在指定大小時,要確保陣列的大小比預定的大乙個,因為編譯器會自動新增'\0'。

//多餘的元素會初始化為'\0'

char m=;  //注意標誌結束的空字元,若沒有它,得到的只是乙個字元陣列而不是字串

3.利用char指標定義字串

char *m = "hello,world"; //自動新增'\0'

注意:此時字串指標m指向字串常量,不成用*(m+1)='o'修改此常量,因為這個字串常量放在常量區不能被修改

4.陣列和指標

陣列形式和指標形式有什麼不同呢?

陣列形式: char m[40] = "hello,world"; 

指標形式: char *m = "hello,world";

陣列形式:

通常,被引用的字串儲存在可執行檔案的資料段部分;當程式被載入到記憶體中時,字串也被載入到記憶體中,把被引用的字串複製到陣列中

指標形式:

C 中輸入字串的幾種方法

c 中幾個輸入函式的用法和區別 cin cin.get cin.getline getline gets getchar 1 cin 1 cin.get 2 cin.getline 3 getline 4 gets 5 getchar 1 cin 用法1 最基本,也是最常用的用法,輸入乙個數字 in...

幾種字串方法

整型和布林值 整型進製轉換 10 2 2 10 方法 8421 布林值轉換 int bool str bool bool false 只有當內容為空時,才為假,有空格時也為真 bool 0 false 其他為真 字串索引 例如 meet 從左向右 0123 從右向左 4 3 2 1 切片從左向右 起...

C 字串的幾種表示方法

1 字元陣列 使用初始化列表 char str1 11 字元陣列中顯式地包含空字元 0 2 字元陣列 使用雙引號字串常量 char str2 11 char array 字元陣列隱式包含空字元 0 char array 儲存在棧上 不能如下操作 char str2 11 str2 char arra...