字元陣列char name是不是name一定要字元

時間 2021-09-03 07:07:18

1樓:匿名使用者

表示最多可以存20個字元,如果是字串的話,因為結尾有個\0,所以字元數做多為19

2樓:

20 個字元,包括乙個字串結尾 '\0' ,只能輸入 19 個字元。

3樓:乙個男人蕩天涯

你這個是陣列了 20 代表的含有20個元素 。我隨便寫舉個例子。name[20]= 裡面就有20個數字

4樓:匿名使用者

那個20表示最多可以包含20個字元。

你可以輸入 0 ~ 20 個字元。

5樓:程式設計師殷保華

不是,char name[20]; 說明字元陣列name,20表示陣列的長度,有20個元素。賦值時不一定要20個全部都賦值。 name[20]元素的範圍為name[0]——name[19]。

還有char name[20]若沒有對它進行初始化,編譯器會自動將他初始化為隨機字串的形式。要搞清楚陣列的長度、字串長度。

例如:char a[10]="abcdei";

陣列長度為10;

字串長度為6;

字串所佔記憶體為7;(因為字串的話,因為結尾有個\0)c語言不能定義未知長度的陣列,更不能給未設定長度的陣列賦值。

c++中定義char name[20]後,為什麼用printf("%s",name)就能輸出一連串字串?

6樓:匿名使用者

%s代表bai字串,name是字元陣列

的首位址du,也就是字串zhi的首位址。dao所以直接專輸出字串。

c++中定義屬char型陣列即是定義c風格字串。

格式化輸出函式printf第乙個引數中%s代表可變引數部分中對應位置變數為指向字串位址的指標。

在c/c++中陣列的名是儲存該陣列首位址的常量。

需要注意:

(1)c++中定義內建型別區域性陣列變數,不提供預設初始化。這裡char是內建型別,如果不初始化其中儲存的是記憶體中的隨機數。

(2)c++不會對陣列進行越界檢查,而是將越界交給os,如果os檢測記憶體不可讀或寫,對齊進行讀寫os核心會丟擲中斷異常。

(3)c++中c-style字串讓然是以'\0'空字元為結束標誌。printf中的%s仍然會在輸出的時候從name指定的記憶體位置開始讀取資料再交給現存快取以在顯示器上顯示。不初始化或不以'\0'結尾的字串將輸出亂碼,這是如果越界讀取到了不可讀的記憶體,將會報段錯誤(unix核心)或記憶體不可讀(windows)異常以終端程式。

7樓:

%s的概念 就是輸出字串

字串必須要以'\0'結尾

也就是如果你

的name[20]中有乙個位置是'\0'的話專printf("%s",name)就能正確輸出如果你是這樣屬char name[20]=;由於name陣列中沒有'\0'你對name指標用printf函式就會出錯

8樓:匿名使用者

%s是從起始位置輸出字元直到遇到\0為止,合法,

陣列在函式中做實參時會轉成指標。

9樓:匿名使用者

1,%s 是輸出字串;%c,只輸出單個字元。

2, 定義name是陣列,name表示陣列的第乙個字元的位址

10樓:匿名使用者

陣列傳遞給printf函式當引數時,自動退化成指標,printf函式輸出指標指向空間,預設到'\0',結束,所以合法

11樓:wang非在心上

這個復就不需問為什麼啦!!因制為這是它的功能bai啦!!就像1+1為什麼等於du2了。你只需要zhi記住它的作用就是dao 用來輸出資料的!!

那個%s是格式識別符號啦!!就是規定後面的引數是以怎樣的格式輸出的!!另外還有其他幾種常用格式識別符號,%c、%d、%o

12樓:匿名使用者

printf函式本來就是c中的函式 。。

c語言中這句話char (*name)[20] = null;什麼意思?

13樓:

你好,這是乙個指標陣列,

意思是定義了乙個陣列name,它的每個成員都是乙個指標型別的變數,null表示初始化為空,

指標變數定義後最好先初始化再使用,不然指標的指向就是不明確的,很可能造成資料的破壞,

14樓:匿名使用者

name是個指標,被賦予null值(空指標),這是乙個指向長度是20的一維char陣列的指標,可專以把乙個第二屬維長度是20的char陣列的位址賦予它

比如有char (*name)[20] = null;

char s[3][20];

name=s; //這就是把乙個第二維長度是20的char陣列的位址賦予它

15樓:

定義乙個指向具有20個char型別陣列的指標的指標,並初始化為零。此指標可以指向char aa[20]型別的資料,用法為:name = &aa;

16樓:記住回憶

如之前的人所回答的,定義了乙個指向長度為20位元組字元陣列的指標,並初專始化為空。具體請看參考資料

17樓:匿名使用者

定義乙個包含有20個指標的字串指標陣列,並將陣列裡的指標設為空

從鍵盤輸入符串,放在字元陣列a中,將字元陣列a中下標值為偶數的元素按從小到大排序。求幫助

c中菜鳥 1 include 2 include 3 include 4 define max 100 5 int main 6 你輸入的 8 char b max 你輸出的10 char temp 11 char p a 12 char q a 1 13 int i 0,j 0 14 printf...

c語言字串陣列和字元陣列有什麼區別

芒素蘭勵鳥 這個是字元陣列,沒有字串陣列這種說法的。char a abcd 就是可以用字串給字元陣列初始化 僑有福泥月 這個是字元陣列。c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束...

字串與無符號字元陣列有什麼區別

c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是 0 總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩者沒有本質的區別...