c語言中,函式傳參a和a有什麼區別

2021-03-03 21:54:43 字數 6260 閱讀 8376

1樓:匿名使用者

*a形參傳遞的是指標變數a

&a這個是引用型別變數a,引用型別是c++中的,c語言沒有引用型別

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

2樓:匿名使用者

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

3樓:育知同創教育

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

4樓:匿名使用者

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

5樓:幻世封神

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

請採納吧

6樓:研凌工控電腦

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

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

7樓:岔路程式緣

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。

8樓:匿名使用者

an和a的區別,用法區別

9樓:蝌蚪聰明頂呱呱

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

int b=10,*a;

a=&b;

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

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

不懂再問~

10樓:你猜你猜猜雙魚

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

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

11樓:哇哎西西

1、本質區別

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

2、輸出區別

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

str = 『a』輸出的測試65

3、底層區別

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

12樓:高金山

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

比如,下面這個例子:

char a1[1]=;

char a2[1]=;

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

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

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

13樓:周肆爻

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

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

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

14樓:匿名使用者

在 c 語言中,

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

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

15樓:匿名使用者

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

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

16樓:匿名使用者

樓上的回答很好!!!

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

建議採納樓上的回答.

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

17樓:摘一把青梅煮酒

字串有結束符 \0

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

18樓:偷個貓

1、本質區別

雙引抄號襲

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

2、輸出區別

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

str = 『a』輸出的測試65

3、底層區別

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

19樓:匿名使用者

1 用''對包bai含的du

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

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

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

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

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

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

20樓:匿名使用者

an和a的區別,用法區別

21樓:王若懷

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

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

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

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

22樓:匿名使用者

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

23樓:哥們兒會_臭臭

'a'是一個字元

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

24樓:倒黴熊

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

char a='a';

char a="a";

25樓:匿名使用者

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

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

26樓:泣富貴塔嬋

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

比如,下面這個例子:

char

a1[1]=;

char

a2[1]=;

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

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

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

27樓:路溫柴倩

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

28樓:新來的文盲

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

純手打,望採納。

29樓:司空曼華郎霜

引號引起來說明是字元。

不因起來說明是變數名。

printf("%c",a);

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

上面是a的變數內容。

而下面是a的ascii碼,97.

30樓:樊成仵辰

在c語言中,

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

2.雙引號就是

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

31樓:鄞蘭英裔嫻

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

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

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

32樓:匿名使用者

an和a的區別,用法區別

33樓:匿名使用者

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

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

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

34樓:匿名使用者

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

35樓:匿名使用者

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

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

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

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

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

和 在c語言裡是對 的註釋說明。1 是對塊的註釋說明。我是一塊的註釋說明 2 是對一行 的註釋說明。我是一行 我被註釋了 擴充套件資料 c語言主要特點 c語言是一種結構化語言,它有著清晰的層次,可按照模組的方式對程式進行編寫,十分有利於程式的除錯,且c語言的處理和表現能力都非常的強大,依靠非常全面的...

在C語言中,定義函式的形參和實參之間具體是如何進行引數傳

函式中的形參和呼叫時的實參都是陣列名時,傳遞方式為 地址傳遞 此時形參和實參共用同一段記憶體 都是變數時,傳遞方式為 值傳遞 實參與形參互不影響 主要有兩種 1 值傳遞 在函式呼叫時,將實參的值複製一份傳遞到呼叫函式中,這樣,如果在呼叫函式中修改了引數的值,也不會影響到實參的值。2 引用傳遞 與 1...

c語言中a 和 a有什麼不同,c語言中 a a 和 a 的區別

作為單獨的語句,來a 與 a 並沒什源麼區別 但是b a 和b a就有區別了 baia 這個式子du的返回值是 zhia,所以daob a 相當於b a,然後a a 1 a的返回值是a 1 所以b a相當於a a 1 然後b a c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能...