C語言之字串 5 27

2022-05-20 17:59:22 字數 1581 閱讀 5835

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語言用空字元來標記乙個字串的結束。陣列...