1樓:匿名使用者
不是一種變數。對於指標來說,陣列是個土豪。
陣列表示了所有陣列元素的集合,也就是說a表示整個陣列。
而指標呢,真是個屌絲,他只有四個位元組的大小,就好比屌絲指著大街上的豪車說,這是我的,那是我的。但是卻不是他自己的。
另一種情況除外。那就是做形參時。
陣列土豪會被打,他的田地會被分。
他會淪落成乙個貧下中農。
不信可以在子函式中sizeof一下
2樓:月亮上的風
如果實在定義變數的時候,前乙個是陣列,後乙個是指標。
如果是某函式的引數裡寫的,那麼其實都一樣,前者是陣列,實質也就是指向陣列頭的指標,後者就是指標。
3樓:匿名使用者
乙個是陣列 乙個是指標
c語言,char a;和char a[1];有什麼區別
4樓:匿名使用者
char a 表示 定義了乙個變數,名叫a, 它是字元型別(佔用記憶體的乙個位元組)
char a[1] 表示 定義了乙個陣列,名叫a, 它是乙個包含乙個字元型別資料的陣列,這個陣列只能存放1個字元型別的資料。
兩者在不接觸指標做函式引數的程式的時候功能是一樣的。
5樓:萢萢
char a是字元,char a[1]是字元陣列。
char *a和char* a有什麼區別
6樓:匿名使用者
沒有什麼不同,都
是定義乙個指向char型的指標
但是要注意的是如果你想在一句話裡面2個指標,那麼正確的做法應該是char *a,*b;而不是char* a,b;
後面那個b只是乙個char型變數
所以一般提倡使用第一種,避免糊塗搞錯,當然如果你僅僅在一句話裡面定義乙個變數或者是在定義形參的話,那麼第二種看上去更直接一點
希望對你有幫助
7樓:匿名使用者
作用是一樣的,區別是風格問題。寫**多的人都有自己的風格,特別是大公司,要求風格統一,所以我們看到一段**風格與其他的不同時可以斷定,這段是copy的
8樓:匿名使用者
沒有區別,完全一樣。
9樓:冰戟玉語
c語言裡有char* a這種格式啊,沒見過,我只知道char *a表示定義了乙個字元陣列。
c++ 語言中char a="a"; 和char a='a' 有什麼區別
10樓:匿名使用者
char a='a' 是合法的
char a="a' 是不合法的
char型不能為字串,只能為字元
11樓:匿名使用者
「a」表示字串,字串長度等於內容加『\0』的長度,所以是佔用兩個位元組記憶體。『a』表示字元,佔用乙個位元組記憶體。而乙個字元變數長度永遠為1位元組,所以前者寫法錯誤,應該寫成 char *a = "a"。
12樓:匿名使用者
前面是錯的。「a」為const char *, 「a」= 『a'+ '\0'。
char* 和char的區別
13樓:
char a 表示 定義了乙個bai變數,名叫a, 它是字元du型別(佔用內zhi存的乙個位元組
dao)char a[1] 表示 定義了乙個數內組,名叫a, 它是乙個包含
容乙個字元型別資料的陣列,這個陣列只能存放1個字元型別的資料。兩者在不接觸指標做函式引數的程式的時候功能是一樣的。
14樓:育知同創教育
char* c與char *c 沒有任何區別
char* c和char c 有區別,char c是乙個字元,char* c是char指標,他可以帶表乙個字串引用。
char a='1',char a=1有什麼區別?
15樓:海天盛筵
chara='1',chara=1唯一的區別是:
chara='1'表示字元'1'被賦值給a。
chara=1表示將ascii碼為1的字元賦給a。
字元型別可以在ascii值和字母之間自動轉換;在編寫chara=5時,ascii值為5的符號是類似於梅花的符號,而ascii=0的符號是空字元。
例:char型別是字元型別,賦值的話可以直接字元賦值:charc='a';
當然也可以用字元對應的ascii碼賦值:charc=97;
擴充套件資料:常用的賦值語句格式:
1.單輪='權重1';
2.多個字元chara[5]="1133";
3.char*str="12312";
4.char*str=newchar[10]。strcpy(str,「1233」);
5.chara="1132131233"
6.char*str=newchar[10]。str="2131"
16樓:
char a='1',char a=1二者唯一的區別是:
char a='1' 表示'1'這個字元賦值給a;char a=1表示ascii碼等於1的字元賦值給a。
char型別可以自動在ascii值和字母之間轉換;當寫 char a =5 時, ascii值為5的符號是乙個類似梅花的符號,ascii=0的是符號是空字元。
例:char型別是字元型別,賦值的話可以直接字元賦值。
char c = 'a';
當然也可以用字元對應的ascii碼賦值
char c = 97;
擴充套件資料
常用賦值語句格式:
1、單字元char a=』1』;
2、多字元char a[5]=」1133」;
3、char* str = 「12312」;
4、char* str = new char[10];strcpy(str,」1233」);
5、字元數不確定char a=」1132131233」;
6、char* str = new char[10];str = 「2131」。
17樓:匿名使用者
char a='1' 表示'1'這個字元賦值給a,char a=1表示ascii碼等於1的字元賦值給a,#include
int main()
18樓:匿名使用者
char a 表示
定義了乙個變數,名叫a, 它是字元型別(佔用記憶體的乙個位元組)char a[1] 表示 定義了乙個陣列,名叫a, 它是乙個包含乙個字元型別資料的陣列,這個陣列只能存放1個字元型別的資料。
兩者在不接觸指標做函式引數的程式的時候功能是一樣的。
19樓:匿名使用者
char a='1' 表示1這個字元
char a=1表示ascii碼等於1的字元
20樓:匿名使用者
前面'1'是字元1,後面 1 是 ascii 碼 1,對應的是另乙個字元。
21樓:時代還怪
char a='1'實際上'1'是ascii字元,等價於char = 49,你說它和char a = 1有什麼區別呢?
chara1000和chara0有什麼區別
char a 100 和char a 區別如下 第乙個是 100個位元組 全部初始化為 0 這個是先給出大小才初始化第二個是就乙個位元組 初始化為 0,這個是賦值初始化 賦的值決定了大小 分配的記憶體位址空間也不一樣,如下 第乙個是 100個位元組 全部初始化為 0 這個是先給出大小才初始化 第二個...
char a在c 中應該怎麼表示
因為像 等等字元在程式中有特別的用途,所以為了正常使用它,就需要複雜一點的表示了,此時c中用 來引起一個表示式就是了。後邊的表示式有幾種,一種就是引起 等然後就是引起一個8進位制表示式如 054,其中0必須有,表示8進位制或者一個十六進位制的表示式 x9f,其中x表示十六進位制,同樣不可省略這種情況...
在c 中,Char a 10abcd」Cout《a《endl為何輸出的是abcd
本來這個問題並不複雜,但是由於題主個別概念有些問題,所以還是深入回答一下。a本身的值確實只是乙個const char 型別的位址。但c 中cout是被定義好的乙個類的物件,它和運算子 連用時 發生過載,語義被解釋為輸出 右端指示的字串。具體是通過運算子過載實現,類似於呼叫函式,只是右運算元作為位址被...