Re: [問題] 怎樣把二維陣列傳給另一個function

看板C_and_CPP作者 (MotionPlanning)時間15年前 (2009/03/14 21:32), 編輯推噓4(402)
留言6則, 4人參與, 最新討論串5/6 (看更多)
※ 引述《y2jj (.)》之銘言: : #include <stdio.h> : #include <stdlib.h> : int x,y; : void sub(int b[x][y]){ : … : } void sub(int (*b)[y] ){...} or void sub( int b[][y] ){...} : void main(){ : printf("x:");scanf("%d",&x); : printf("y:");scanf("%d",&y); : int a[x][y]; : sub(a); : } 這樣應該可以 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.199.247

03/14 22:43, , 1F
請問一下為何void sub(int b[x][y])不行
03/14 22:43, 1F

03/14 22:43, , 2F
而void sub( int b[][y] )可以呢?
03/14 22:43, 2F

03/15 03:50, , 3F
這樣也不行吧= =
03/15 03:50, 3F

03/15 14:52, , 4F
正解
03/15 14:52, 4F

03/15 14:56, , 5F
y不是常數,所以不能這樣做,抱歉之前看錯
03/15 14:56, 5F

03/20 12:40, , 6F
如果y是個常數,因為C需要把多維陣列降成1維,需要y的info
03/20 12:40, 6F
文章代碼(AID): #19kx7h3P (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19kx7h3P (C_and_CPP)