#有關字元陣列的初始化的若干問題#
一、注意事項:
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 將已開闢記憶體...