在c語言中「a」和 a 的區別是

時間 2021-12-20 10:07:24

1樓:匿名使用者

「a」是字串

『a』是字元

字串末尾以\0結束,不顯示,但是確實於字串(陣列)中

2樓:匿名使用者

"a"是字串(string)型別,'a'是字元(char)型別。這兩種資料型別最主要的區別是所能儲存的字元長度不同。

3樓:科技程式迷

c語言中沒有string的型別,不過是有string這個概念,c語言的字串也是char型別儲存。

c語言中"a"表示乙個字串,在記憶體中儲存為 'a' '\0' 兩個字元,大小為2位元組。

c語言中'a'表示乙個字元,在記憶體中儲存為 'a' 乙個字元,大小為1位元組。

擴充套件知識:

在c語言中可以用char型別的指標來儲存任意長度的字串!比如:char * mystr="hello,c!"。

如果你用char型陣列來儲存字串,請注意你的陣列的長度要比你將要儲存的字串長度至少大1.

4樓:電子技術

"a"是乙個字串常量,包含兩個字元:『a』和『/0』

'a'是乙個字元常量只表示字元『a』

5樓:匿名使用者

'a':是乙個字元,佔乙個位元組。

"a":是乙個字串,佔二個位元組

6樓:高順

'a':是乙個字元

"a":是乙個字串

c語言'a'和"a"有什麼區別

7樓:偷個貓

1、本質區別

雙引抄號襲

裡面的是字串, 而單引號裡面的代表字元。

2、輸出區別

str = 「a」輸出的就是a這個字母;

str = 『a』輸出的測試65

3、底層區別

用單引號引起的乙個字元實際上代表乙個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。

8樓:匿名使用者

1 用''對包bai含的du

代表字元常量,其zhi值為字元a的ascii碼。

2 用""對包含的代表字dao

符串常量,版其有兩個元素,第乙個是a,第二權個是結束符'\0'。

於是二者區別可以總結為:

1 型別不同,字元和字串。

2 占用空間不同,前乙個是乙個位元組,後乙個是兩個位元組。

9樓:匿名使用者

an和a的區別,用法區別

10樓:王若懷

在現有的c語言用法習慣中,'a'的意義是字元型常量a,而"a"的意義是字

符串常量a,預設專後面還

有個屬'\0'作為字串的結束符,此常量佔倆個字元空間,兩者的區別就在於資料型別不同,前者是字元常量(char),在計算機記憶體中占用乙個字元空間,後者是字串常量(string),在計算機記憶體中占用倆個字元空間。

備註:在計算機中對於字串型資料的儲存是用字元陣列來實現的,所以上面的後者雖然本身作為字串常量,但是在計算機記憶體中占用的是字元空間。

11樓:匿名使用者

乙個'a『是字元,只佔乙個字元的記憶體空間,"a"是字串,後面還有'\0'佔兩個字元的空間。

12樓:哥們兒會_臭臭

'a'是乙個字元

"a"是個字串,後面還跟著乙個'\0'

13樓:倒霉熊

前者是乙個字元,後者是乙個字串。

char a='a';

char a="a";

14樓:匿名使用者

'a'是乙個字元,佔乙個位元組,"a"是字串,包含了乙個隱含的'\0',佔兩個位元組。

c語言中'a'和"a"有什麼區別?

15樓:哇哎西西

1、本質區別

雙引號裡面的是字串, 而單引號裡面的代表字元。

2、輸出區別

str = 「a」輸出的就是a這個字母;

str = 『a』輸出的測試65

3、底層區別

用單引號引起的乙個字元實際上代表乙個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。

16樓:高金山

'a'是乙個字元,"a"是兩個字元,'a'和'\0'

比如,下面這個例子:

char a1[1]=;

char a2[1]=;

前者a1[0]='a',能編譯通過

後者編譯通不過,因為a2是乙個元素的陣列,而"a"有兩個元素,分別是'a'和'\0'

補充:'aa'這是錯誤的寫法,單引號是字元的引號,它只能引乙個字元的"aa"這是正確的寫法,雙引號是字串的引號,它有三個字元:'a','a','\0'

17樓:周肆爻

定界符不同,字元常量用的是單直撇,字串常量則用雙引號長度也不同,字元常量只能有乙個字元,也就是說字元常量長度為一,而字串常量可為0,也可為任意數。即使字串常量字元數量為一,長度也不是一。

例如,字串常量"h"(這手機沒雙引號)

則長度為2,字元就是h \0

18樓:匿名使用者

在 c 語言中,

1.單引號是字元的意思:『a』,a就是乙個字元;

2.雙引號就是 字串的意思:」abd「就是乙個字串。

19樓:匿名使用者

'a'是字元,在記憶體中表示為0x61,儲存空間為1個位元組

"a"是字串,在記憶體中表示為 0x61 0x00 ,儲存空間為2個位元組

20樓:匿名使用者

樓上的回答很好!!!

對於字元和字串沒什麼好解釋的!!!

建議採納樓上的回答.

另外,回去多看看書,多練習!!!

21樓:摘一把青梅煮酒

字串有結束符 \0

c語言中 a a'和"a"的區別

22樓:黑馬程式設計師

『a』是 單個字元,

「a」是 字串就是多個字元的集合實際上,"a" 等價於「a\0」;末尾還有字串結束符

c語言中,a 和a[] 有什麼區別

23樓:泣富貴塔嬋

'a'是乙個字元,"a"是兩個字元,'a'和'\0'

比如,下面這個例子:

char

a1[1]=;

char

a2[1]=;

前者a1[0]='a',能編譯通過

後者編譯通不過,因為a2是乙個元素的陣列,而"a"有兩個元素,分別是'a'和'\0'

補充:'aa'這是錯誤的寫法,單引號是字元的引號,它只能引乙個字元的"aa"這是正確的寫法,雙引號是字串的引號,它有三個字元:'a','a','\0'

24樓:路溫柴倩

1、本質區別

雙引號裡面的是字串,

而單引號裡面的代表字元。

2、輸出區別

str=

「a」輸出的就是a這個字母;

str=

『a』輸出的測試65

3、底層區別

用單引號引起的乙個字元實際上代表乙個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。

擴充套件資料:

c語言是乙個有結構化程式設計、具有變數作用域(variablescope)以及遞迴功能的過程式語言。

c語言傳遞引數均是以值傳遞(pass

byvalue),另外也可以傳遞指標(a

pointer

passed

byvalue)。

不同的變數型別可以用結構體(struct)組合在一起。

只有32個保留字(reserved

keywords),使變數、函式命名有更多彈性。

部份的變數型別可以轉換,例如整型和字元型變數。

通過指標(pointer),c語言可以容易的對儲存器進行低階控制。

預編譯處理(preprocessor)讓c語言的編譯更具有彈性。

25樓:新來的文盲

a比a少一維,我具體給你解釋下。

幾個元素可以組成陣列,而幾個一維陣列可以組成二維陣列,如此一直增加維數。

比如說a[0]=2,a[1]=1,a[2]=3,組成乙個一維陣列,這就是a.但是,你要注意,a不是直接把這些東西都存著的,a只存首位址。

假設定義了乙個二維陣列a[3][3].這時候a[0],a[1],a[2]就不再是元素了,而代表的是乙個有三個元素的一位陣列,而此時的a就是乙個二維陣列。如果感覺這個有點困難沒關係,等學習了指標什麼的久很好理解這個了。

再說說你給的程式,你是不是在疑問為什麼gets()直接給str1 就可以了?還有那個輸出函式,為啥只用給str1就可以?

這得給儲存方式有關,字串就是字元的二維陣列,gets()需要輸入字串的首位址,這個還算好理解,因為你應該學過了scanf()了,二者差不多,關鍵是為什麼輸出函式直接就寫了str1呢?printf()之前你學的一般都是(printf("%d",a[1]));這種型別的。這裡為啥要填乙個位址引數呢?

這是因為你前面是%s s代表字串,字串本身就是二維的,因此,你當然不能只給他乙個單獨的元素了,那麼,你給了首位址他如何知道你這個字串是啥呢?因為字串都是順序儲存的,更重要的是字串在結尾處有個標誌「/0」,因此,你只要給力他首位址,他就知道從**開始,從**結束了。

純手打,望採納。

26樓:司空曼華郎霜

引號引起來說明是字元。

不因起來說明是變數名。

printf("%c",a);

printf("%d",'a');比較兩者的區別。

上面是a的變數內容。

而下面是a的ascii碼,97.

27樓:樊成仵辰

在c語言中,

1.單引號是字元的意思:『a』,a就是乙個字元;

2.雙引號就是

字串的意思:」abd「就是乙個字串。

28樓:鄞蘭英裔嫻

定界符不同,字元常量用的是單直撇,字串常量則用雙引號長度也不同,字元常量只能有乙個字元,也就是說字元常量長度為一,而字串常量可為0,也可為任意數。即使字串常量字元數量為一,長度也不是一。

例如,字串常量"h"(這手機沒雙引號)

則長度為2,字元就是h\0

29樓:匿名使用者

an和a的區別,用法區別

30樓:匿名使用者

char str1[5]; //表示定義了乙個字元陣列,即可以對應儲存str1[0]-str1[4]個字元

gets(str1);//單獨使用了str1,str1是陣列的名稱,代表了陣列的起始位址,呼叫gets()函式時引數應該是位址值str1

printf("%s\n",str1);// 輸出格式控制為%s,表示輸出字串,如果要輸出乙個連續的字串,後面應該使用位址str1;如果格式控制字為%c,表示輸出單個字元,這時候就應該是str1[0]或其他

31樓:匿名使用者

char str1[5]; 表示聲名乙個陣列,其長度為5(也就是所它最多能容納5個char型元素)

gets(str1);獲取使用者的輸出,注意不要超過4個字元,否則就會陣列越界。其中的str1其實就是陣列的位址。gets的函式原型為char *gets(char *s);其功能就是將使用者的輸入存入str1的陣列中。

printf("%s\n",str1);將str1中的內容列印出來。

int a[5]表示聲名乙個陣列。而a就是這個陣列的位址(也是陣列第乙個元素的位址)。

32樓:匿名使用者

a表示的是儲存陣列a[..]的首位址,而a[..]表示的是這個字元的值。

拿旅店比喻:你住在302房。

那麼a就表示302這個門牌號,而a[..]就表示你。假設服務員要叫你吃飯,就得先找到302這個房間,然後再把你請到大廳吃飯。

作業系統無論是儲存資料還是讀取資料,都是先找到資料的首位址!

33樓:匿名使用者

像程式裡面的str1[5]表示乙個長度為5的字元陣列,str1表示陣列的首位址,也是第乙個元素的位址

34樓:匿名使用者

名字指的的 a的首位址

a == &a[0];

這兩個都表示同樣的位址。

c語言中 》和 的區別,c語言中 a a 和 a 的區別

1 指向不同 一般情況下用 只需要宣告一個結構體。格式是,結構體型別名 結構體名。然後用結構體名加 加域名就可以引用域 了。因為自動分配了結構體的記憶體。如同 int a 一樣。而用 則要宣告一個結構體的指標,還要手動開闢一個該結構體的記憶體,然後把返回的指標給宣告的結構體指標,才能用 正確引用。否...

C語言中聯合和結構有什麼區別,C語言中的 和 有什麼區別?

前面對聯合變數的定義和聯合變數成員的表示以及對聯合變數的賦值作了描述,可以看出聯合與結構有許多相似之處,但是也指出了兩者的最大區別在於聯合是共址的,結構是異址的。即聯合的所有成員共同使用乙個記憶體位址,而結構的每個成員都有自己的記憶體位址。由於聯合的共址特性使得它與結構產生了很大差別。例如,在斌初值...

C語言中的C 和 c計算時的區別

典海祖香薇 c 和 c都是自增1運算子,最後結果都使c的值變為c 1。它們的區別是,c 在表示式中使用c的值,表示式運算完成後才執行 運算使c值增1成c 1,所以俗稱 後 而 c在表示式中使用c 1的值,即在表示式運算前就執行了c的增1運算使c變成c 1了,所以俗稱 前 具體舉例如下 若有int a...