c語言數組的a和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[0]取值相同而不是和a[0]取值相同
比如:a[5]這個數組
a就表示數組的首地址,a[0]表示第一個元數,&a[0]表示第一個元數的地址,其實就是首地址,所以a和&a[0]取值相同
『叄』 c語言中二維數組里a和a[0]有什麼區別呀 都是說的首地址啊 不明白有什麼區別
區別就是a是一個指針,指向的地址是a[0]的地址,而a[0]就相當於一個變數,就是&a
『肆』 為什麼C語言中二維數組的數組名a和*a表示的是同一個值
當定義二維數組a[M][N]時,數組名可以認為是二維指針,其指向二維數組的首地址。
於是a的值就是首地址的值。
而*a,就是a[0],a[0]是第一行的標記,代表第一行的首地址。
在二維數組中,所有元素都是緊密排列的,這樣整個數組的首地址,第一行的首地址,和第一個元素的首地址,即a, a[0], &a[0][0] 都是相同的。
於是a和*a的值是相同的。
『伍』 C語言中一個二維數組 它的數組名是a 那a和*a有什麼區別
對於二維數組名a和*a,二者的區別在於類型不同。
對於
TYPE a[M][N];
當使用a時,可以等同於二級指針TYPE **型。
而使用*a時,等同於TYPE*型。
從概念上說,a表示二維數組a的首地址,而*a表示二維數組a第一行a[0]的首地址。這樣在使用的時候就有所區別。比如 對a的操作a[4]表示a的第四行首地址,而對*a的操作(*a)[4]則代表第一行的第4個元素,即a[0][4]。
所以a和*a除了值相同外,其它的各方面都是不同的。
『陸』 C語言中數組指針*a[]與a[]有啥區別
a[]普通的數組,存的每一個元素都是一個普通類型的變數,比如int;*a[]是數組指針,它的每個變數都是指針,比如int類型,每個成員都是int *指針,很多指針元素組成一個數組,而不是普通的變數類型。
就好像普通家庭里組成的成員都是普通人;國務院里組成的成員都是大官,牛逼的人,呵呵 ;指針算是牛逼的人,但終究都是平民演變而成的,含義都是一樣的
『柒』 C語言一維數組a和&a的區別
簡單的說,a是數組首元素的地址,即a 等於 &a[0]
&a是整個數組的首地址。
這兩個值相同,但代表了不同的意思。如:a+1,偏移的是一個數組元素的大小,而&a+1,偏移的是整個數組的大小
『捌』 C語言中,定義一個數組int a[8]; 問a和a[0]什麼區別
a是數組的首地址,a[0]是數組的第一個元素
前者是int*
類型,後者是int
類型
聯系:a
=
&a[0]