1樓:網友
二維陣列是乙個二級指標沒錯,但是在形參使用的時候有規定,形參的型別一定要和實參一模一樣。
形參現在是int**,實參是int(*)10]或int[8][10])
在這裡因為實參是乙個8行10列這片連續位址的首位址,因為形參也必須是要知道第二維的大小,這才可以最正確的指向,所以你形參要寫成 matrix[n+2] 或者 (*matrix)[n+2] 這樣就不會警告了。
ps:你雖然這裡是二維的,但是你給的引數是maze,這裡相當於是陣列的第乙個元素的位址,也就是相當於maze[0](相當於一維),所以你函式里的引數寫成int *matrix會更好。
2樓:什麼人用我名
你的帶表具體的數嗎,你這樣寫很片面,報錯的表面意義是,不能轉換第乙個引數,這樣給二維陣列賦值是不可以的!要麼宣告時賦值,要麼利用for迴圈!
3樓:與人方便手留餘香
這明顯是型別不匹配,比如:
int a[1][2]; 型別是int[1][2],表示式a可以隱式轉換為&a[0],型別是int(*)2]
int *b; /型別是int*
b=a; /型別不相容。
lz只考慮了乙個函式的情況,而且這個陣列是你寫的,你什麼都清楚。但事實上,只要你寫過比較大的程式,用到了陣列,你就知道,當傳遞過來乙個**matrix引數的時候,你絕對蒙了,因為你根本不知到這個matrix應該怎麼用。在陣列傳遞的時候,要麼直接傳陣列(行列數全知道),要麼傳陣列指標(至少知道列數)。
c語言二維陣列如何定義字串????急。。。
4樓:a羅網天下
二維字元陣列的定義格式為:char 陣列名[第一維大小][第二維大小];
例如:char c[3][10]; //定義了乙個3行10列的二維字元陣列c
由於該二維陣列的每一行 c[0]、c[1]、c[2] 均是含有 10 個元素的一維字元陣列,即二維陣列的每一行均可表示乙個字串。
通常情況下,二維陣列的每一行分別使用乙個字串進行初始化。 例如:
分析
5樓:網友
c語言二維bai陣列定義字du符串的步驟如下:zhi1、我們。
先是定義乙個二級dao指回針和行列變數【int **array,row,column;】。答。
2、然後我們用c語言編寫輸入行列的語句。
3、接下來我們就可以為其開闢乙個乙個一維裝著一維陣列的陣列。
4、接下來我們使用【array[i]=(int *)malloc(sizeof(int)*column);】為陣列再次產生乙個新的裝著陣列的陣列。
5、然後我們就可以為其賦值並輸出。
6、執行程式後我們就可以看到這樣的效果了。
6樓:用著追她
1、新建乙個 字串bai陣列的定義與du輸出項zhi目。
dao2、新增乙個 檔案。
3、包專含和標頭檔案。
4、輸入main函式主體,屬system()和返回值。
5、定義乙個字串變數str。
6、使用printf()函式輸出字串變數str。
7、執行程式,檢視輸出結果。
7樓:鬱鸞袁千山
錯了,copy
charch[3][4]=
是個二維陣列,該陣列有bai三個元素,每個du元素是最大長度為zhi3的字元dao串(最後乙個是結束符0)
也就是說:ch[0]="123",ch[1]="456",ch[2]="78"
而:ch[0][0]="1",ch[0][1]="2",ch[0][2]="3「
8樓:網友
char a[3][10]=;
在定義時候,3代表陣列中有幾個字串,10代表每個字串的長度不要超過9,因為字串在後 面自動加了\0這個字元。
9樓:阿牛哥曾阿牛
c語言字串的學習,輸入指定字串,並且計算字串的位數。
二維陣列的陣列名代表什麼
10樓:張三**
二維數凱或組。
本質上是以陣列作為陣列元素的陣列,即「陣列的陣列」。
二維陣列定義:型別說明符 陣列名[常量表示式。
常量表示式]二維數念鋒組a[m][n],這是乙個m行,n列的二維陣列。設a[p][q]為a的第乙個元素,即二維陣列的行下標從p到m+p。
存放該陣列至少需要的'單元數為(m-p+1) *n-q+1) *t 個位元組。
二維陣列又稱為矩陣,行列數相等的矩陣稱變方陣。對稱矩陣。
a[i][j] =a[j][i],對角矩陣。
n階方陣主對角線外都是零元仔孫晌素。
c語言中都有什麼型別陣列?
11樓:信必鑫服務平臺
我們常見的c需要型別陣列有:
char:只允許輸入字元,int:是整型變數,輸入整數,範圍不大,在-32767到32767,float:
輸入可以使小數也可以輸入整數,在不確定的情況下,就用float,範圍還是比較的大,double:如果說float是四個位元組的話,大伯是八個位元組。範圍比float大好多。
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何運慶執行環境支援便能執行的程式語言。 儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性。
以乙個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。 二十世紀八十年代,正樑為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言制定了一套完整的美國國家標準語法,稱為ansi c,作為c語言最初的標準。
目前2011年12月8日,國際標準化組織(iso)和國際電工舉悄運委員會(iec)釋出的c11標準是c語言的第三個官方標準,也是c語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。
二維陣列名是不是「指標」,二維陣列名是不是一個「指標」?
理解一復 陣列名就是地址制常量,地址常量就是不能更改的地址,一旦定義了一個陣列就定了 指標是變數,這是和陣列本質的區別,他可以令他隨意等於任何一個有效的地址 理解二 個人認為陣列名不佔空間,就是個標誌,名字,和人名一樣,人名不佔空間,a 5 a作為左值,實際就是一個地址,在c語言中,廣義的說,任何名...
c語言二維陣列
因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...
c語言二維陣列下標負數是什麼意思
1 在c語言中,二維陣列的下標可以為負數,表示指向前面的元素 2 對於二維陣列 int arr m n 來說,arr i j 的地址是 arr i n j,其值是 arr i n j 3 分析本題 陣列a在初始化時後,其元素按照在記憶體中的排列順序依次為1,2,3,0,4,5,6,0,0,0,0,0...