<ruby id="tfdtx"><mark id="tfdtx"></mark></ruby>

<address id="tfdtx"><nobr id="tfdtx"><progress id="tfdtx"></progress></nobr></address>

<noframes id="tfdtx">
<form id="tfdtx"></form>

<form id="tfdtx"></form>

<sub id="tfdtx"></sub>

直播帶貨服務

字符數組的定義和初始化

字符數組的定義和初始化

字符數組的定義和初始化

字符數組的定義和一般的數組一樣,例如:

char s[10];

char s[3][10];

初始化方法如下:

char s[10]={‘H’,’e’,’l’,’l’,’o’,’‘,’C’,’+’,’+’,’!’};/*定義時完全初始化*/

char s[]={‘H’,’e’,’l’,’l’,’o’,’‘,’C’,’+’,’+’,’!’}/*定義時省略長度的完全初始化*/

char s[10]={‘H’,’e’,’l’,’l’,’o’};/*不完全初始化,未賦值的元素系統自動賦予0*/

char s[11]={“Hello C++!”);    /*字符串形式的初始化*/

char s[11]=HelloC++!”;    /*省略花括號的字符串形式的初始化*/

用雙引號進行的字符串形式初始化和普通字符數組不同的是,在串的尾部自動添加了一個結束符’\0’,其ASCII值為0。數組的長度為ll,如果為10,’\0’將不能存儲,字符串將不能正確初始化,其結果將只是一個普通的字符數組。

以下形式也可以初始化一個字符串:

char s[11]={‘H’,’e’,’l’,’l’,’o’,’‘,’C’,’+’,’+’,’!’,’\0’};

有了結束符’\0’,在編譯處理和對字符串操作的時候,可以以此作為串是否結束的標志,定義字符串的時候需要足夠的空間能存儲最后一個結束符,像以下定義則是錯誤的:

char s[10]=”Hello C++!”;

字符串的長度是不包含’\0’在內的有效字符個數,如果字符串包含多個’\0’,以最前面的為有效結束符。例如,假設有字符串:

char s[11]={‘H’,’e’,’l’,’l’,’o’,’\0‘,’C’,’+’,’+’,’!’,’\0’};

則字符串的有效長度為5,字符數組的長度仍然為11。

因此用字符串的方式對數組作初始化賦值,\0'是由C編譯系統自動加上的。由于采用了’\0'標志,所以在用字符串賦初值時一般無須指定數組的長度,而由系統自行處理。

例如:

char s[ ]=”Hello C++!”

字符數組和普通數組一樣,也是通過下標引用。


© Copyright 六六互聯.Some Rights Reserved.www.ic.vip
三级在线看中文字幕完整版