[問題] 二維陣列傳遞
最近開始寫LeetCode
題目在這: https://leetcode.com/problems/island-perimeter/
打算用C寫
我想要自己使用Dev-C來寫這題
因此會有個main()以及題目規定好的islandPerimeter()
假設我要在main裡面先建立好我的二維grid,再將此grid傳入islandPerimeter
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr[4][4] = {{0,1,0,0},{1,1,1,0},{0,1,0,0},{1,1,0,0}};
islandPerimeter(arr,4,4);
.............
}
int islandPerimeter(int** grid, int gridRowSize, int gridColSize)
{
..........
}
這樣一定是錯的,置底就有說明了
因此我把main裡的grid宣告改成
int main()
{
int **arr=(int**)malloc(sizeof(int*)*4);
int i;
for(i=0;i<4;i++)
arr[i] = (int*)malloc(sizeof(int)*4);
arr[0][0]=0;
arr[0][1]=1;
arr[0][2]=0;
arr[0][3]=0;
arr[1][0]=1;
arr[1][1]=1;
arr[1][2]=1;
arr[1][3]=0;
arr[2][0]=0;
arr[2][1]=1;
arr[2][2]=0;
arr[2][3]=0;
arr[3][0]=1;
arr[3][1]=1;
arr[3][2]=0;
arr[3][3]=0;
islandPerimeter(arr,4,4);
}
雖然這樣就可以傳入islandPerimeter(),但作法卻很笨
不知道有沒有辦法在不改變
int islandPerimeter(int **grid, int gridRowSize, int gridColSize)
的情況下
在main裡面宣告好grid呢
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.85.133.102
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481178012.A.2D6.html
※ 編輯: woody3724 (219.85.133.102), 12/08/2016 14:34:01
推
12/08 14:32, , 1F
12/08 14:32, 1F
→
12/08 15:03, , 2F
12/08 15:03, 2F
推
12/08 16:18, , 3F
12/08 16:18, 3F
→
12/08 17:09, , 4F
12/08 17:09, 4F
→
12/08 17:10, , 5F
12/08 17:10, 5F
→
12/08 17:13, , 6F
12/08 17:13, 6F
推
12/08 21:06, , 7F
12/08 21:06, 7F
→
12/08 21:07, , 8F
12/08 21:07, 8F
推
12/08 22:20, , 9F
12/08 22:20, 9F
→
12/08 22:20, , 10F
12/08 22:20, 10F
推
12/08 22:36, , 11F
12/08 22:36, 11F
→
12/13 14:14, , 12F
12/13 14:14, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章