5 5 C 字元陣列

2021-06-29 00:36:48 字數 1071 閱讀 1313

用來存放字元資料的陣列是字元陣列,字元陣列中的乙個元素存放乙個字元。字元陣列具有陣列的共同屬性。由於字串應用廣泛,c和c++專門為它提供了許多方便的用法和函式。

定義字元陣列的方法與前面介紹的類似。例如:

char c[10];

c[0]=′i′;c[1]=′ ′;c[2]=′a′;c[3]=′m′;c[4]=′ ′;c[5]=′h′;c[6]=′a′;c[7]=′p′;c[8]=′p′;c[9]=′y′;

上面定義了c為字元陣列,包含10個元素。在賦值以後陣列的狀態如圖5.7所示。

圖5.7

對字元陣列進行初始化,最容易理解的方式是逐個字元賦給陣列中各元素。如

char c[10]=;

把10個字元分別賦給c[0]~c[9]這10個元素。

如果花括號中提供的初值個數大於陣列長度,則按語法錯誤處理。如果初值個數小於陣列長度,則只將這些字元賦給陣列中前面那些元素,其餘的元素自動定為空字元。如果提供的初值個數與預定的陣列長度相同,在定義時可以省略陣列長度,系統會自動根據初值個數確定陣列長度。如:

char c=;

也可以定義和初始化乙個二維字元陣列,如

char diamond[5][5]=,,,,};

只能對字元陣列的元素賦值,而不能用賦值語句對整個陣列賦值。如:

char c[5];

c=; //錯誤,不能對整個陣列一次賦值

c[0]='c'; c[1]='h';c[2]='i';c[3]='n';c[4]='a'; //對陣列元素賦值,正確

如果已定義了a和b是具有相同型別和長度的陣列,且b陣列已被初始化,請分析:

a=b;  //錯誤,不能對整個陣列整體賦值

a[0]=b[0];  //正確,引用陣列元素

【例5.9】設計和輸出乙個鑽石圖形。

#include using namespace std;

void main( )

,,,,};

int i,j;

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

{for (j=0;j<5;j++)

cout執行結果為:

馬鞍數55c語言 C語言零基礎入門結構體02

這節課的主要內容 1,結構體型別的陣列。2,指針對結構體的操作。上一節課講述了結構體的定義 初始化 以及簡單的使用。但是既然結構體是乙個重新定義出的資料型別,那麼他就也能夠像c語言中自帶的資料型別一樣 int float等等 可以進行陣列 指標的操作。如下 int資料型別定義的陣列 includev...

55 跳躍陣列

55.跳躍遊戲 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0...

C字元陣列

c語言 的運算子無法操作字串。在c語言中把字串當作陣列來處理,因此,對字串的限制方式和對陣列的一樣,特別是,它們都不能用c語言的運算子進行複製和比較操作。1 字元陣列的賦值只能對其元素一一賦值。2 一定要理解賦值與初始化的區別 3 系統對字串常量也自動加乙個 0 作為結束符,有了結束標誌 0 後,字...