c語言中的字串有兩種表示方式,一是字元陣列,二是字元指標。
1.定義形式
char 變數名[常量表示式];
2.初始化形式
有三種初始化形式
①.char c[5]=;
②.char c[10]=;
③.char c[10]="tasklist"
注意:·如果初始化初值個數大於陣列長度會報錯;若初值個數小於陣列長度,系統會為剩餘元素自動賦值為'\0'。
·兩種初始化形式的不同
例:char a1[5]=;與char a2="abcde",
初始化後陣列中各元素值為:c1="abcde",c2="abcde\0"
3.賦值方式
char m1[20]="hello",m2[20];
strcpy(m2,m1);
4.輸入輸出形式
①.輸入形式
char str[10];
scanf("%s",str);或gets(str);
②.輸出形式
利用下標輸出單個字元
printf("%c",str[i]);
直接輸出整個字串
printf("%s",str);
1.定義形式
char *指標變數名;
2.初始化形式
①.char *p;
*p="tasklist";
注意:字元陣列無法像字元指標一樣賦值,即:char a[10]; a[10]="ipconfig";是不成立的。
3.賦值方式
char *p1="hello",p2; p2=p1;
4.輸入輸出形式
①.輸入形式
用字元陣列為儲存空間
char *p,str[10];
*p=str;
scanf("%s",p);
用malloc為儲存空間
char *p = malloc(sizeof(char)*20);
scanf("%s",p);
注意:*p接受字串輸入時,必須先開闢儲存空間
②.輸出形式
利用下標輸出單個字元
printf("%c",p+i);
直接輸出整個字串
printf("%s",p);
三點區別:
1.存放內容不同。
字元指標變數中存放的是字串的首位址;
字元陣列存放的是若干個陣列元素,每個元素對應乙個字元
2.賦初值的方式不同。
字元指標初始化:
char *s=「hello」;等價於:char *s; s=「hello」;
字元陣列初始化:static char m[10]=「hello」;
不可以為: static char m[10];m=「hello」;
3.賦值方式不同。
字元陣列(或字串)之間不能進行賦值運算,如需賦值時只能單個字元為每個元素賦值或使用strcpy函式。如:
static char m1[20]=「hello」 , m2[20]; strcpy(m2,m1);
字元指標無此限制。如:
char *s1=「hello」, *s2; s2=s1;
C語言之字串
字元就是符號 圖案,在計算機中以整數形式儲存,當需要顯示時會根據ascii表中的對應關係,顯示相應的符號或圖案。字元型別 char 的資料 如字元a,a,0,等 在記憶體中以對應的ascii碼存放,不同字元所對應的ascii碼見下表。計算機用乙個位元組 8個二進位制位 儲存乙個字元,例如,字元a的a...
C語言之陣列 字串
陣列 一 陣列的定義和賦值 int ages 5 每個元素佔4個位元組,整個陣列的大小為4 元素個數5 int ages 定義陣列可以不宣告長度,後邊大括號裡的元素個數決定陣列的長度 int ages a a 65,所以這個陣列的長度為65 ages 0 29 為某乙個元素賦值或替換 二 陣列的遍歷...
C語言之字串輸出
1.前導程式 1 include2 include 1提供strlen 的函式原型 3 define density 62.4 2預處理命令 4int main void 5 2.關於字串 1 字串是乙個或多個字元的序列。如 i am a student 2 c語言用空字元來標記乙個字串的結束。陣列...