在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...