2014-10-10 72 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(); 

,而不是你的旧代码!