请解释“func”为何种类型,这种类型的作用什么,变量ttt 的值是多少?typedef int (*func)(int, int*);int xxx(int a, int *p){return a + *p;}int dowork(func aaa, int bbb, int *ccc){return aaa(bbb, ccc);}int sss = 4;int ttt = dowork(&xxx, 3, &sss);

题目

请解释“func”为何种类型,这种类型的作用什么,变量ttt 的值是多少?

typedef int (*func)(int, int*);

int xxx(int a, int *p)

{

return a + *p;

}

int dowork(func aaa, int bbb, int *ccc)

{

return aaa(bbb, ccc);

}

int sss = 4;

int ttt = dowork(&xxx, 3, &sss);


相似考题
更多“请解释“func”为何种类型,这种类型的作用什么,变量ttt 的值是多少?typedef int (*func)(int, in ”相关问题
  • 第1题:

    设有定义语句int(*f)(int);,则以下叙述正确的是( )。

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形参

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是基类型为int类型的地址


    正确答案:B
    解析:int(*f)(int);为指向函数的指针变量的定义方法,其中f为指向函数的指针变量,第一个int为函数返回值的类型,第二个int为函数的形参类型。

  • 第2题:

    若定义函数int*func(),则函数func的返回值为( )。

    A.一个实数

    B.一个指向整型变量的指针

    C.一个指向整型函数的指针

    D.一个整型函数的入口地址


    正确答案:B
    解析:本题考考查的是指针函数。指针函数定义的基本格式为:类型说明符*函数名()。其中,“类型说明符”表示返回的指针。值所指向的数据类型。

  • 第3题:

    函数定义为Func(int *p),变量定义为n=100,则下面调用该函数正确的是?

    A.Func(20)

    B.Func(20+n)

    C.Func(n)

    D.Func(&n)


    CC。【解析】本题考查函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是

  • 第4题:

    设有定义语句int(*f(int);,则下列叙述正确的是( )。

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形态

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是其类型为int类型的地址


    正确答案:B
    解析:定义语句int(*f(int)中f是指向函数的指针变量,该函数中也只有一个int型的形参。

  • 第5题:

    假设某个C语言函数func的原型声明为“void func(int *xptr, int *yptr, int *zptr);” 。以下关于函数func()过程调用对应的机器级代码的叙述中,错误的是()。

    A.func函数采用的是按地址传送参数的方式

    B.传递给func函数的参数在func的栈帧中各占4个字节

    C.在func过程的AT&T格式汇编代码中,8(%ebp)是xptr所在的存储地址

    D.在func过程的AT&T格式汇编代码中,16(%ebp)是zptr所在的存储地址


    R[ebp]+8R[ebp]+12R[ebp]+16int tempx=*xptr;int tempy=*yptr;int tempz=*zptr;*yptr=tempx;*zptr = tempy;*xptr = tempz;