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

2021-03-10 22:13:01 字數 6216 閱讀 3460

1樓:偷個貓

1、本質區別

雙引抄號襲

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

2、輸出區別

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

str = 『a』輸出的測試65

3、底層區別

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

2樓:匿名使用者

1 用''對包bai含的du

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

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

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

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

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

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

3樓:匿名使用者

an和a的區別,用法區別

4樓:王若懷

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

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

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

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

5樓:匿名使用者

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

6樓:哥們兒會_臭臭

'a'是一個字元

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

7樓:倒黴熊

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

char a='a';

char a="a";

8樓:匿名使用者

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

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

9樓:哇哎西西

1、本質區別

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

2、輸出區別

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

str = 『a』輸出的測試65

3、底層區別

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

10樓:高金山

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

比如,下面這個例子:

char a1[1]=;

char a2[1]=;

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

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

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

11樓:周肆爻

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

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

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

12樓:匿名使用者

在 c 語言中,

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

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

13樓:匿名使用者

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

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

14樓:匿名使用者

樓上的回答很好!!!

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

建議採納樓上的回答.

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

15樓:摘一把青梅煮酒

字串有結束符 \0

c語言中*a和&a有什麼區別

16樓:岔路程式緣

1、&a:其含義比較單純,就是「變數a的地址」。

2、*a:用在不同的地方,含義也不一樣。(1)在宣告語句中,*a只說明a是一個指標變數,如int *a;(2)在其他語句中,*a前面沒有運算元且a是一個指標時,*a代表指標a指向的地址記憶體放的資料,如b=*a;(3)*a前面有運算元且a是一個普通變數時,*a代表乘以a,如c=b*a。

17樓:匿名使用者

an和a的區別,用法區別

18樓:蝌蚪聰明頂呱呱

*a ①是在定義時*a 代表定義某型別的指標變數 a;②是表示取存在 a 變數所存放地址裡面的資料&b 表示取 b 變數地址,舉例說明:

int b=10,*a;

a=&b;

scanf("%d",a);//效果與 scanf("%d",&b);相同

printf("%d = %d",b,*a);// b 和*a 的值應當相同

不懂再問~

19樓:你猜你猜猜雙魚

*a是乘以a這個數字要加*這個字元就成了*a,&a是輸入a這個數字時要加&這個字元就成了&a。

c語言中,a==b與b==a有什麼區別麼?

20樓:匿名使用者

沒區別,==是恆等於,不存在賦值問題,單純比較,怎麼寫都行,但是=號就不一樣了,是右邊賦值給左邊

21樓:育知同創教育

寫法幾乎沒有什麼區別。前後順序不影響的。

22樓:匿名使用者

雙等號 是比較運算子, 沒有什麼區別

23樓:幻世封神

沒什麼區別,看個人習慣了

請採納吧

24樓:研凌工控電腦

無區別,這和只有一個=號不同

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

25樓:泣富貴塔嬋

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

比如,下面這個例子:

char

a1[1]=;

char

a2[1]=;

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

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

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

26樓:路溫柴倩

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語言的編譯更具有彈性。

27樓:新來的文盲

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」,因此,你只要給力他首地址,他就知道從**開始,從**結束了。

純手打,望採納。

28樓:司空曼華郎霜

引號引起來說明是字元。

不因起來說明是變數名。

printf("%c",a);

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

上面是a的變數內容。

而下面是a的ascii碼,97.

29樓:樊成仵辰

在c語言中,

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

2.雙引號就是

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

30樓:鄞蘭英裔嫻

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

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

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

31樓:匿名使用者

an和a的區別,用法區別

32樓:匿名使用者

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

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

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

33樓:匿名使用者

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就是這個陣列的地址(也是陣列第一個元素的地址)。

34樓:匿名使用者

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

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

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

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

35樓:匿名使用者

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

C語言中 c和 h有什麼區別,C語言中標頭檔案中 h 和「 h」的區別?

c語言的原始檔分為兩種 1 c檔案,以c為副檔名,一般儲存具體功能的實現 2 h檔案,稱為標頭檔案,一般儲存型別的定義,函式的宣告等。通常,標頭檔案被.c檔案包含,使用 include 語句。但值得注意的是,這只是一種約定,而非強制。事實上,將宣告寫在.c檔案,比如a.c,然後 include a....

C語言中c m和c m的區別,C語言中 「 c m」和「c m」的區別是什麼?

是取址運算bai符,取變數在內du存單元中的首zhi地址dao,取地址運算子的操作物件必須專是記憶體單元 如變數 數屬組元素等 是間接訪問運算子,間接訪問指標所指向的物件,運算子的操作物件必須是指標 地址 因此 c m是把m在記憶體中的地址賦給c這個指標指向的變數c m是把m的地址賦給c這個指標 1...

指令碼語言,C語言,C 語言有什麼區別

語言本質沒有區別,只是在不同領域某些語言優勢更明顯某些語言優勢更不明顯而已 c 就是在c的基礎上引入了更過的東西。c語言和c 語言的區別是什麼?c語言與c 的區別有很多 1,全新的程式程式思維,c語言是程序導向的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在一個...