请解释“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);
第1题:
设有定义语句int(*f)(int);,则以下叙述正确的是( )。
A.f是基类型为int的指针变量
B.f是指向函数的指针变量,该函数具有一个int类型的形参
C.f是指向int类型一维数组的指针变量
D.f是函数名,该函数的返回值是基类型为int类型的地址
第2题:
若定义函数int*func(),则函数func的返回值为( )。
A.一个实数
B.一个指向整型变量的指针
C.一个指向整型函数的指针
D.一个整型函数的入口地址
第3题:
函数定义为Func(int *p),变量定义为n=100,则下面调用该函数正确的是?
A.Func(20)
B.Func(20+n)
C.Func(n)
D.Func(&n)
第4题:
设有定义语句int(*f(int);,则下列叙述正确的是( )。
A.f是基类型为int的指针变量
B.f是指向函数的指针变量,该函数具有一个int类型的形态
C.f是指向int类型一维数组的指针变量
D.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所在的存储地址