2014-10-10 150 views
-2

什麼是錯用下面的代碼:如何讓指針指向數組

#include <stdio.h> 
int array = {{1, 2, 3}, 
      {4, 5, 6}, 
      {7, 8, 9}}; 

int (*get_matrix(void))[4] 
{ 
    return array; 
} 

int main() 
{ 
    int* anarray[4] = get_matrix(); 
} 

這給了我以下錯誤: 錯誤:數組必須用括號內的初始化初始化

+0

[如何將參考傳遞給二維數組作爲參數]可能的重複(http://stackoverflow.com/questions/26288765/how-to-pass-reference-to-2d-array-as-parameter) – 2014-10-10 00:06:34

+0

This問題已經用代碼示例回答了。閱讀這些答案,不要在一個新問題上發佈幾乎相同的東西。 – 2014-10-10 00:07:52

回答

0

您必須設置陣列尺寸以及尺寸!

試試這個:

int array[3][3] = {{1, 2, 3}, 
        {4, 5, 6}, 
        {7, 8, 9}}; 

你也該

int* anarray = get_matrix(); 

,而不是你的舊代碼!