回 帖 发 新 帖 刷新版面

主题:主函数调用子函数的问题

void fun( int *p )
{
.....
}
void main()
{
int *a;
fun( a );
}
上面的应该写fun(a)还是fun(*a)啊,大侠们指教啊

回复列表 (共6个回复)

沙发

main函数中使用 fun(&a)调用子函数。


新浪微博:李思扬_pa

板凳

fun(a),你定义的函数void fun( int *p )形参就是一个指针类型,int *a,a也是一个指针类型。可以直接使用。

3 楼

没有看到main()中的定义也有*


void fun( int *p )

}
void main()
{
int a;
fun( &a );
}

或者:
void fun( int *p )

}
void main()
{
int *a;
fun( a );
}

新浪微博:李思扬_pa

4 楼


void fun( double *TI )
{
    TI = (double *)malloc(2 * sizeof(double));
    *(TI+0)=1;
    *(TI+1)=2;
}
void main()
{
    double *AC;
    double AC;
    fun(AC);
    printf("%1f\n",*(AC+0));
    printf("%1f\n",*(AC+1));
}

那我上面这段代码怎么总是提示“AC”:“double”与“double *”的间接寻址级别不同,谢谢大侠了

5 楼

#include <stdio.h>
#include <stdlib.h>
void fun( double *TI )
{
    //TI = (double *)malloc(2 * sizeof(double));
    *(TI+0)=1;
    *(TI+1)=2;
}
void main()
{
    double *AC;
    AC = (double *)malloc(2 * sizeof(double));
    //double AC;
    fun(AC);
    printf("%1f\n",*(AC+0));
    printf("%1f\n",*(AC+1));
}

新浪微博:李思扬_pa



6 楼

的确是fun(a)调用的;
举几个例子(int m,n;)(int *q,*p;)
fun(int *a , int *b){},用fun(&a,&b);fun(a,b)
fun(&a, &b){},用fun(a,b);fun(*p,*q)
较乱,不好意思

我来回复

您尚未登录,请登录后再回复。点此登录或注册