将数组元素传递给c中的函数

时间:2014-06-19 16:54:04

标签: c arrays pointers pass-by-reference

代码:

#include<stdio.h>
void display (int *);
void show(int **);
int main()
{
    int a[3] = {1,2,3} ; 
    display(&a[2]);
    return 0 ;
}
void display(int *n)
{
    show( &n );
}
void show (int *m)
{
    printf("%d",**m);
}

我的目标是定义一个函数名“show”,它可以从函数名“display”调用,两个函数(“show”和“display”)必须通过引用调用。上面的程序给出了一个错误在“show()”的“printf行”上,“unary'*''的无效类型参数。这个程序有什么错误吗?

1 个答案:

答案 0 :(得分:0)

定义中show的函数声明符与其prototype.Change

不匹配
void show (int *m)
{
    printf("%d",**m);
}

void show (int **m)
{
    printf("%d",**m);
}