问题
单项选择题
设有如下定义,则以下叙述中正确的是______。 int(*ptr)();
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
答案
参考答案:C
解析: “int(*ptr)();”说明ptr是一个指向函数的指针,返回值是整型。*ptr两边的括号非常关键,表示*和ptr组合成一个指针变量,然后再和后边的圃括号结合,表示该指针变量*ptr是一个指向函数的指针变量。如果没有*ptr两边的括号,“int*ptr();”表示ptr是个函数,该函数返回指向整型数据的指针。