字元陣列的初始化

2021-08-10 19:54:39 字數 2159 閱讀 3563

#有關字元陣列的初始化的若干問題#

一、注意事項:

1.字元陣列的初始化,初始化時賦予的自然是字元(要加單引號)。

2.賦予字元也可以通過賦予相應字元的ascii碼(去掉單引號)或賦予字串(只加雙引號)來進行。

3.對字元陣列完全不進行初始化,則各元素隨機。

4.對字元陣列進行不完全初始化,則從低位址(a[i]中i從0開始)到高位址逐個字元依次初始化,未被初始化的元素預設為空(即'\0'),而不是隨機生成。

5.初始化時切勿超出字元陣列長度。

6.初始化時{}內為空,則預設為該字元陣列初始化全空(所有元素都是空字元'\0')

7.'\0'是空字元

二、**演示及說明

#include

#include

int main()

;        /*初始化為全空*/

char c[10]=;       /*方式為【用若干字元的ascii碼逐一對字元陣列進行初始化】未被初始化的元素為空*/

char d[10]=;     /*''中被看作用來初始化某元素的字元,方式為【用若干字元逐一對字元陣列進行初始化】未被初始化元素初始化為空*/

char e[10]=;     /*""中被看作用來初始化某些元素字串,方式為【用字串直接對字元陣列進行初始化】超出字串長度的未被初始化元素初始化為空*/

char c1[10]=;                    /*c1為c陣列的擴充套件*/

char d1[10]=;    /*d1為d陣列的擴充套件*/

char e1[20]=;                     /*e1為e陣列的擴充套件*/

printf("a[10]  : ");

for(i=0;i<=8;i++)

printf("%c,",a[i]);

printf("%c.\n",a[9]);

printf("b[10]  : ");

for(i=0;i<=8;i++)

printf("%c,",b[i]);

printf("%c.\n",b[9]);

printf("c[10]  : ");

for(i=0;i<=8;i++)

printf("%c,",c[i]);

printf("%c.\n",c[9]);

printf("d[10]  : ");

for(i=0;i<=8;i++)

printf("%c,",d[i]);

printf("%c.\n",d[9]);

printf("e[10]  : ");

for(i=0;i<=8;i++)

printf("%c,",e[i]);

printf("%c.\n",e[9]);

printf("c1[10] : ");

for(i=0;i<=8;i++)

printf("%c,",c1[i]);

printf("%c.\n",c1[9]);

printf("d1[10] : ");

for(i=0;i<=8;i++)

printf("%c,",d1[i]);

printf("%c.\n",d1[9]);

printf("e1[20] : ");

for(i=0;i<=19;i++)

printf("%c",e1[i]);

return 0; }

執行結果:

a[10]  : @, ,? , , , , , .

b[10]  :  , , , , , , , , , .

c[10]  :  , , , , , , , , , .

d[10]  : 0, , , , , , , , , .

e[10]  : 0, , , , , , , , , .

c1[10] :  ,!,",#,$,%,&,',(,).

d1[10] :  ,!,",#,$,%,&,',(,).

e1[20] :  ,!,",#,$,%,&,',(,).

process returned 0 (0x0)   execution time : 0.047 s

press any key to continue.

字元陣列初始化

上週實習做fcitx輸入法時碰到乙個字元陣列的問題,因基礎的不紮實,導致經除錯了幾分鐘才發現問題所在。字元陣列初始化常見有兩種格式 char arr test 10 和char arr test 11 helloworld 為什麼是一樣的內容,兩個陣列的長度不一樣,乙個是10,乙個是11,因為預設在...

關於字元陣列的初始化

字元陣列可以在定義時進行初始化.有兩種初始化方法.方法1 逐個字元賦給陣列中各元素.這種方法最容易理解.例如 char c 5 把5個字元分別賦給c 0 至c 4 以下是幾點說明 1 如果大括號內提供的初值個數 即字元個數 大於陣列長度,則編譯時將出錯.如果初值個數小於陣列長度,則只將這些字元賦給前...

陣列初始化

cpp中陣列初始化方法 簡單的初始化 利用定義變數時賦初值進行初始化。int a 10 float f 10 char ch 5 大括號中的為初始值。較為複雜的初始化 利用memset函式初始化。memset函式用法 void memset void s,int c,size t n 將已開闢記憶體...