在C编程中使用指针

时间:2015-09-16 15:06:55

标签: c pointers

我在尝试理解C编程中指针的使用时遇到了困难。我不明白为什么这不编译:

void func(char**p);
void other_fun(void)
{
    char arr[5][3];
    func(arr);
}

1 个答案:

答案 0 :(得分:3)

主要问题是数组与指针相同。从语法上讲,您可以在函数中以非常类似的方式使用它们,但它们并不相同。因此,您在func(arr)中传递的是char (*)[3]类型的变量,或者是指向3 char的数组的指针,而不是指向指针的指针,这是什么func期待。