char c[10];//初始化
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
-------------------------------------------------------------------
char b[10]={"abcxsdfg"};
-------------------------------------------------------------------
char a[8]={'i','e','o','d','e','b','o','u'};
-------------------------------------------------------------------
char a[11];//輸入輸出
for(i=0;i<10;i++)→ for(i=0;i<10;i++)
a[i]=getchar();//一個一個賦值 ----- putchar(a[i]);//一個一個輸出
-------------------------------------------------------------------
for(i=0;i<10;i++)→ for(i=0;i<10;i++)
scanf("%c",&a[i]);//一個一個賦值 ----- printf("%c",a[i]);//一個一個輸出
-------------------------------------------------------------------
scanf("%s",a);//這個一下輸入一串字符;空格,回車作為分隔符;
printf("%s",a);//這個一下輸出一串字符;
-------------------------------------------------------------------
gets(a);//這個一下輸入一串字符;只有回車作為分隔符;
puts(a);//只有用gets();輸入才可以用puts();
1 列出數(shù)組所有元素值進行初始化,比如,下面的列出了4個元素所有值
int a[4] = {1,2,3,4};
2 初始化數(shù)量少于元素數(shù)量,比如下面的數(shù)組有4個元素,但只給了兩個初始值
int a[4] = {1,2};
等價于 int a[4] = {1,2, 0, 0};
3 不指定數(shù)組維數(shù)初始化
int a[] = {1,2,3,4};
4 特殊情況, 字符數(shù)組初始化
char x[5] = "abcd";
等價于 char x[5] = {'a', 'b', 'c', 'd', '\0'};
1、直接逐個初始化字符數(shù)組:
字符數(shù)組的初始化,最容易理解的方式就是逐個字符賦給數(shù)組中各元素。
1
char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y'};
注意:如果花括號中提供的字符個數(shù)大于數(shù)組長度,則按語法錯誤處理;若小于數(shù)組長度,則只將這些字符數(shù)組中前面那些元素,其余的元素自動定為空字符(即'\0' )。
2、用字符串常量來初始化字符數(shù)組:
在c語言中,將字符串作為字符數(shù)組來處理。因此可以使用字符串來初始化字符數(shù)組。
1
char str[]={"I am happy"};
也可以省略花括號。
1
char str[]="I am happy";
但是,上述這種字符數(shù)組的整體賦值只能在字符數(shù)組初始化時使用,不能用于字符數(shù)組的賦值,字符數(shù)組的賦值只能對其元素一一賦值,下面的賦值方法是錯誤的。
1
2
char str[];
str="I am happy";//錯誤,字符數(shù)組的賦值只能按元素一一賦值
可以的:
#include<string>
#include<iostream>
using namespace std;
void main()
{ string str[3]={"a","123","e1ghi"};
int i;
for ( i=0;i<3;i++ ) cout<<str[i]<<endl;
}
字符數(shù)組的初始化與數(shù)值型數(shù)組初始化沒有本質(zhì)區(qū)別。但它除了可以逐個給數(shù)組元素賦予字符外,也可以直接用字符串對其初始化。
(1)用字符常量逐個初始化數(shù)組。例如:
char a[8]={'i','l','o','v','e','y','o','u'};
用逐個初始化的方法與數(shù)值型數(shù)組初始化本質(zhì)上是一樣的,同樣也可以進行完全賦初值及不完全賦初值,但是不完全賦值時沒有賦值的元素被賦為空格。
當對全體元素賦初值時也可以省去長度說明。例如:
char c[ ]={'c',' ','p','r','o','g','r','a','m'};
這時C數(shù)組的長度自動定為9。
(2)字符串常量初始化數(shù)組。例如:
char c[ ]={'c',' ','p','r','o','g','r','a','m'};
可寫為:
char c[ ]={"C program"};
或去掉{}寫為:
char c[ ]="C program";
空格算字符的,不過你寫的是空字符。。既然空格算字符了(空字符也占一個空間) 那么有十二個字母就越界了。。
這樣的初始化是合法的 不過一定不要超過設置的最大長度。。。
如果不等于而是小于 那么剩下的就是隨機的。。
如果首先不設置限制的話,那么系統(tǒng)會自動統(tǒng)計個數(shù)。
就是這樣也可以char str2[]={'a',' ','b','c','d','e','f','g','h','i','j','k','l'};
樓上說的結(jié)束符不加也是可以的,只是為了輸出等用途的時候,可以不用考慮數(shù)組長度
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據(jù)《信息網(wǎng)絡傳播權保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.631秒