Ⅰ c語言 &a和a的區別搞不明白
首先,a是一個變數,儲存著值。&a是常量,是變數a的內存地址。一般的&a是用來賦值給指針的(int ×p=&a ;),或者是作為函數的參數傳遞(地址傳遞)。比如scanf中:scanf("%d",&a);
如果輸出,也並不是按照你說的那樣,比如a是字元型:putchar(a) ;a是整形:printf(「%d」,a) ;
所以輸出是用a還是&a,要看函數的參數類型是變數還是指針。
Ⅱ C語言中'a'和"a"有什麼區別
1、本質區別
雙引號裡面的是字元串, 而單引號裡面的代表字元。
2、輸出區別
str = 「a」輸出的就是a這個字母;
str = 『a』輸出的測試65
3、底層區別
用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字元集中的序列值。
(2)c語言中a和a的區別擴展閱讀:
C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。
C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
不同的變數類型可以用結構體(struct)組合在一起。
只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。
部份的變數類型可以轉換,例如整型和字元型變數。
通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
Ⅲ 在c語言中 &a與a的區別為什麼說&a是常量謝謝!
C語言中,只要出現了
int
a;或者double
a;之類的語句(也就是定義變數a),那麼系統會分配一定的內存空間(空間大小視變數類型而定,如int型為4個位元組),這一段內存空間是有地址的。
例如
int
a;
系統會分配4個位元組的空間給a,假設這四個位元組的地址分別是2000,2001,2002,2003.
好!
那麼&a的意思就是這段空間的首個位元組的地址,即2000.
此時,不管用什麼值賦予給a,a的值變化了,但是地址(也就是系統分配給a的內存空間)沒有變化,還是2000--2003這四個位元組,所以&a是常量。
Ⅳ 在c語言中「a」和『a』的區別是
C語言中沒有String的類型,不過是有String這個概念,C語言的字元串也是char類型存儲。
C語言中"a"表示一個字元串,在內存中存儲為 'a' '\0' 兩個字元,大小為2位元組。
C語言中'a'表示一個字元,在內存中存儲為 'a' 一個字元,大小為1位元組。
擴展知識:
在C語言中可以用char類型的指針來存儲任意長度的字元串!比如:char * myStr="Hello,C!"。
如果你用char型數組來存儲字元串,請注意你的數組的長度要比你將要存儲的字元串長度至少大1.
Ⅳ c語言中,a 和a[] 有什麼區別
像程序裡面的str1[5]表示一個長度為5的字元數組,str1表示數組的首地址,也是第一個元素的地址
Ⅵ C語言中符號「a」和『a』的區別是
呃,,,樓上的各位都沒有答到本質上 從本質上講,「a」是一個指針常量,而'a'則是一個數值。也就是說,在編譯器看來,「a」的值是一個地址(比如:0x84f39ea0),而'a'的值則是a的ASCII碼(即97)。樓主用printf列印這兩個值看看就知道了 另外,當「」里的字元串有多個字元時,它指向字元串的第一個字元。
Ⅶ C語言中符號a和『a』的區別是
a是變數,在程序運行過程中值是可以改變的
'a'是字元型常量,在程序運行過程中沒辦法改變,只能讀取
Ⅷ c語言 &a和a的區別搞不明白
首先,a是一個變數,儲存著值。&a是常量,是變數a的內存地址。一般的&a是用來賦值給指針的(int
×p=&a
;),或者是作為函數的參數傳遞(地址傳遞)。比如scanf中:scanf("%d",&a);
如果輸出,也並不是按照你說的那樣,比如a是字元型:putchar(a)
;a是整形:printf(「%d」,a)
;
所以輸出是用a還是&a,要看函數的參數類型是變數還是指針。
Ⅸ c語言'a'和"a"有什麼區別
1、本質區別
雙引號裡面的是字元串, 而單引號裡面的代表字元。
2、輸出區別
str = 「a」輸出的就是a這個字母;
str = 『a』輸出的測試65
3、底層區別
用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字元集中的序列值。
(9)c語言中a和a的區別擴展閱讀:
C 語言中,逗號(,)也可以是運算符,稱為逗號運算符(Comma Operator)。逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式,稱為逗號表達式。其一般形式為:
子表達式1, 子表達式2, ..., 子表達式n
例如:a + b, c = b, c++
逗號運算符的優先順序是所有運算符中級別最低的,通常配合 for 循環使用。逗號表達式最右邊的子表達式的值即為逗號表達式的值。上例中,c++ 的值(c 自增之前的值)即為該表達式的值。
逗號運算符保證左邊的子表達式運算結束後才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有副作用都結束後,才對其右邊的子表達式進行運算。因此,上例中,c 得到 b 的值後,才進行自增運算。
Ⅹ C語言中'a'和a有什麼區別
引號引起來說明是字元。
不因起來說明是變數名。
printf("%c",a);
printf("%d",'a');
比較兩者的區別。
上面是a的變數內容。
而下面是a的ASCII碼,97.