若定义了以下函数: void f(……) { …… *p=(double *)malloc(10 * sizeof(double)); …… } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是( )A.double *pB.float **pC.double **pD.float *p

题目

若定义了以下函数: void f(……) { …… *p=(double *)malloc(10 * sizeof(double)); …… } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是( )

A.double *p

B.float **p

C.double **p

D.float *p


相似考题
更多“若定义了以下函数:void f(……){…… *p=(double *)malloc(10 * sizeof(double)); ……}p是该函数的形 ”相关问题
  • 第1题:

    若定义了以下函数; void sub(……) {…… *t=(int *)malloc(10*sizeof(int)); …… } 其中t是该函数的形参,要求通过t把动态分配存储单元的地址传回主调函数,则形参t的正确定义应该是( )

    A.int *t

    B.int **t

    C.long **t

    D.long *t


    正确答案:B

  • 第2题:

    【单选题】若定义了以下函数: void f (…) { ... *p= (double*)malloc (10*sizeof(double)); ... } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是 。

    A.double *p

    B.float **p

    C.double **p

    D.float *p


    double **p ;

  • 第3题:

    下面语句是使指针p指向一个double类型的动态存储单元,请填空。 p=()malloc(sizeof(double));


    D

  • 第4题:

    若主函数有变量定义:int x=1 ; double y=2.3 ; 且有合法的函数调用语句f (y , x); 则下列关于函数f的原型声明中一定错误的是 。

    A.void f(double, int);

    B.int f(int , int);

    C.int f(double, double);

    D.void f(double, int, int);


    void f(double, int, int);

  • 第5题:

    以下哪个函数是不正确的(与能否被编译无关)?

    A.int* f(int *p) { int i; return &i; }

    B.int* f(int *p) { return p; }

    C.int* f(int *p) { return (int*)malloc(sizeof(int)); }

    D.int* f(int *p) { return NULL; }


    int* f(int *p) { int i; return &i; }