求問c語言大神,求問c語言大神 int a 3 4 那麼a, a, a是什麼型別?有什麼區別?

2021-03-11 07:30:22 字數 1939 閱讀 1367

1樓:it圈新鮮事

a是指陣列的首地址,是個地址值;

*a是陣列第一個位置的元素值,是陣列中的數值;

&a不能用於取陣列的地址,本身a就是地址了,不能再次取地址,否則得到的值是錯誤的。但是可以取變數的地址。

2樓:匿名使用者

二維陣列陣列名為陣列指標.

所以a型別為 int (*)[4]

*a就是a[0], 型別為int, 等效於const int *&a是二維陣列指標. 型別為 int (*)[3][4];

3樓:自我程式設計

陣列bai

元素地址是連續的

dua是表示二維陣列的zhi首地址,其值相dao當於專 &a[0][0] 本身是常量指標 不能改變屬其值。

*a是行的首地址 也就是&a[0] 如果你把(*a)+1 那麼值就是 &a[1]

&a值和a一樣,但意義不同,

a表示陣列首地址,a+1就變成第二個元素地址(int 每個元素地址相隔4)

&a表示整個陣列,&a+1就直接跳過整個陣列的記憶體地址空間(相當於跳過了 4*元素個數的地址)

你可以用sizeof(a) 和sizeof(&a) 檢視記憶體大小就知道了

int* a;與int *a;有什麼區別

4樓:育知同創教育

int *a和int a [ ] 的區別,就等價於指標與陣列的區別。

指標與陣列的區別:

1、指標的本質是一個與地回址相關的複合類答型,它的值是資料存放的位置(地址);陣列的本質則是一系列的變數。

2、陣列名對應著(而不是指向)一塊記憶體,其地址與容量在生命期內保持不變,只有陣列的內容可以改變。指標可以隨時指向任意型別的記憶體塊,它的特徵是"可變",所以我們常用指標來操作動態記憶體。

3、當陣列作為函式的引數進行傳遞時,該陣列自動退化為同型別的指標。

c語言指標 定義 int *a[3] 和 int *(a)[3] 有什麼區別??? 書上的沒看懂啊

5樓:匿名使用者

int *a[3];

//因為bai:du陣列zhi名等效於dao指標,內//因此:int *(* (a+3)) 該型別為指標,即:該陣列的元素為容指標變數

int *(a)[3];

//因為:陣列名等效於指標,比()、*操作符都要高階。

//因此:int * ( *(a+3 ) == int **(a+3) 該型別也為指標,即:該陣列的元素為指標變數

6樓:匿名使用者

int *a[3] 和 int *(a)[3]沒有區別,這個括號是多餘的。

如果你問的是int *a[3] 和 int (*a)[3]的區別,則:專

(1)int *a[3] 中 a是陣列,陣列中每個屬元素是個int型別的指標;

(2)int (*a)[3]中 a是指標,這個指標指向一個長度是3的int型別陣列。

其實,這類問題關鍵就是如何理解(),這裡()就是優先操作,先操作(*a),是個指標,後面就是int [3],是個陣列。

7樓:匿名使用者

因為 [ ]的優先順序 會比 *號高;所以 int *a[3]; a先與[3]結合 代表一個陣列;其次再與int * 結合;

其他的同wxhysoft

8樓:飄秋楓嵐

int *a[3]叫指標陣列,int *(a)[3]叫指向陣列的指標,名字都不一樣,用法也不內一樣。

int *a[3]一般用來存放一系列的字容符串。

如 int *a[3]=;

int *(a)[3]則基本等同於int a[3],用於在函式中做形式引數,接受傳來的資料。如

呼叫fan(a[4][3]);

函式int fan(int *(a)[3])

c語言,求大神解釋,C語言,求大神解釋??

第四行!c 語言中,逗號 也可以是運算子,稱為逗號運算子 comma operator 逗號運算子可以把兩個以上 包含兩個 的表示式連線成一個表示式,稱為逗號表示式。其一般形式為 子表示式1,子表示式2,子表示式n例如 a b,c b,c 逗號運算子的優先順序是所有運算子中級別最低的,通常配合 fo...

c語言作業,求大神幫忙,C語言作業,求大神幫忙

由於時間關係,我也準備斷網了,先寫了前邊4題,剩下的明天有空再幫你補上 1 程式填空1 include include define arr size 80 main printf english character d n letter printf digit character d n dig...

c語言問題求大神指教,C語言問題求大神指教

應該是這樣才對 include void fun char a,char b 它等價於while b a 0 即複製餘下的串到b中 int main 這個程式是錯的吧,請問這個程式要做什麼事。第一個while的作用是跳過a指向的字串 也即字串 a b 中前面的 號,所以第一個while結束後a指向字...