C語言二維陣列的地址為什麼不可以賦值給指標變數

2021-03-03 20:48:16 字數 1044 閱讀 2309

1樓:自我程式設計

二維陣列抄的陣列名和襲

一維陣列的

陣列名不一樣。bai

一維陣列名dua表示其首地址zhi,指標型別是(int *)。

二維數dao組名d表示其行指標,指標型別是(int (*)[7])。

所以你要定義指標去用二維陣列名賦值,需要定義指標int (*k)[7];不是int *k。

或者你把二維陣列當成一維陣列來看(二維內部地址是連續的,和一維一樣),這樣int *k;k=&d[0][0];之後通過k++遍歷二維陣列所有值。

c語言中二維陣列名能否直接賦給指標變數

2樓:匿名使用者

二維陣列的指標與指標的指標是不一樣的。

所以int **ppr;

int fool[2][3];

ppr = fool;

這樣是不行的。

二維數回組的指標必須

答限定第一維的大小。

所以:int (*ppr)[3];

ppr = fool;

這樣才可以。

3樓:匿名使用者

可以,但所宣告的指標型別是指向指標的指標如:

int a[3][3];

int** array_ptr=a;

4樓:匿名使用者

可以,二維陣列名本身就是表示一個陣列的首地址。

5樓:手機使用者

可以,陣列名是陣列首元素的地址

6樓:孓圊

可以,例如a,*p=a

c語言,指標變數中存放的地址可以改變嗎?

7樓:匿名使用者

選ds中最多可以存放17個字元, s字串中最後一個字元'.'是中文全形的點,要佔兩個位置, t指向的字串中的'.'是英文字元,算一個

8樓:匿名使用者

應該選d

而指標常量中存放的地址一般來說不能改變

c語言中二維陣列aij為什麼c語言中二維陣列aij為什麼aa

在c語言中,二者是相同的地址值。所以可以說a a.二維陣列a定義為a i j 時,代表一組資料,有i行j列,共計i j的元素。這組資料在記憶體中是連續存放的。而在c語言的使用中,a是二維陣列的首地址。a也就是a 0 是二維陣列第一行的首地址。所以,二者是相同的地址值,即資料a 0 0 的地址值。也就...

c二維陣列傳遞問題,C語言怎麼以二維陣列作為引數傳遞的問題

你這裡nn裡面確實是二維陣列,char al 10 是說al是一個一維維度為10的二維陣列指標變數。因此和你的ne陣列是對應的,傳參是沒問題的。錯誤在於 1.你的函式呼叫有問題 nn ne 2.你給陣列賦值,al 0 asd 這種使用,是僅在陣列初始化的時候被允許的。如果要實現這個字串放到陣列,可以...

關於c語言二維陣列輸出問題,C語言程式設計二維陣列輸出一個23的矩陣

二維bai陣列是由一維陣列構成的,迴圈第du一維輸出zhi就可以了 include stdio.h int main int argc,char argv int i for i 0 i 7 puts s i return 0 執行結果 版空的那一行就是那個權空字串的輸出結果。c語言程式設計 二維陣...