1樓:小傻
char a[100] = ;和char a = 區別如下:
第乙個是 100個位元組 全部初始化為\0 ,這個是先給出大小才初始化第二個是就乙個位元組 初始化為\0, 這個是賦值初始化 賦的值決定了大小
分配的記憶體位址空間也不一樣,如下:
2樓:滄海雄風
第乙個是 100個位元組 全部初始化為\0 這個是先給出大小才初始化
第二個是就乙個位元組 初始化為\0 這個是賦值初始化 賦的值決定了大小
3樓:匿名使用者
char a[100] = ;a分配了100個位元組的空間,但只有乙個\0
和char a = ;a分配了1個位元組記憶體空間,裝著\0
c++裡char a='0';和char a=0;有什麼區別??
4樓:小傻
char a[100] = ;和char a = 區別如下:
第乙個是 100個位元組 全部初始化為\0 ,這個是先給出大小才初始化第二個是就乙個位元組 初始化為\0, 這個是賦值初始化 賦的值決定了大小
分配的記憶體位址空間也不一樣,如下:
5樓:匿名使用者
第乙個是指字元a賦值字元型『0』,第二個指字元a賦值ascii值為0的字元也就是空字元(空格)。
6樓:百度使用者
c++裡面初始化乙個字元必須打上單引號 也就是類似於第乙個 char a='x';。第2個是不正確的。
c++裡char a='0';和char a=0;有什麼區別?
7樓:匿名使用者
c++裡面初始化乙個字元必須打上單引號 也就是類似於第乙個 char a='x';。第2個是不正確的。
char *a和char* a有什麼區別?
8樓:匿名使用者
沒有什麼不同,都是定義乙個指向char型的指標但是要注意的是如果你想在一句話裡面2個指標,那麼正確的做法應該是char *a,*b;而不是char* a,b;
後面那個b只是乙個char型變數
所以一般提倡使用第一種,避免糊塗搞錯,當然如果你僅僅在一句話裡面定義乙個變數或者是在定義形參的話,那麼第二種看上去更直接一點
希望對你有幫助
char **str和char *str[]有什麼區別?
9樓:匿名使用者
**str右邊的*表示
來指向每乙個字串第一自個字元的bai位址,du左邊的*表示指向第乙個字串的zhi位址。
const char **str 或 char const **str可以定義dao,const不區分前後順序,意義都是表示str是常量(不能賦值)。
只能定義char *str[5]而不能定義char *str,因為編譯時程式不能確定str陣列有幾維。
char *str[5]表示字串陣列,陣列數量是5,既是5個string又是乙個string array,每個string不限字元個數。
10樓:千鋒教育
兩者都代復表乙個字元陣列儲存制
空間的首位址,bai區別在於du
char *str;
這個變數可以進zhi行指標運算,比如:daostr++;
str--;
但如果定義成:
char str;
則str++這樣的語句是錯誤的,這個首位址不得進行賦值計算。
在不改變str指標指向位址的情況下,下面的語句是一樣的結果。
printf("%s",str+2);
chara和chara的問題
不是一種變數。對於指標來說,陣列是個土豪。陣列表示了所有陣列元素的集合,也就是說a表示整個陣列。而指標呢,真是個屌絲,他只有四個位元組的大小,就好比屌絲指著大街上的豪車說,這是我的,那是我的。但是卻不是他自己的。另一種情況除外。那就是做形參時。陣列土豪會被打,他的田地會被分。他會淪落成乙個貧下中農。...
char a在c 中應該怎麼表示
因為像 等等字元在程式中有特別的用途,所以為了正常使用它,就需要複雜一點的表示了,此時c中用 來引起一個表示式就是了。後邊的表示式有幾種,一種就是引起 等然後就是引起一個8進位制表示式如 054,其中0必須有,表示8進位制或者一個十六進位制的表示式 x9f,其中x表示十六進位制,同樣不可省略這種情況...
在c 中,Char a 10abcd」Cout《a《endl為何輸出的是abcd
本來這個問題並不複雜,但是由於題主個別概念有些問題,所以還是深入回答一下。a本身的值確實只是乙個const char 型別的位址。但c 中cout是被定義好的乙個類的物件,它和運算子 連用時 發生過載,語義被解釋為輸出 右端指示的字串。具體是通過運算子過載實現,類似於呼叫函式,只是右運算元作為位址被...