我有以下代码:
int (*predicate)(char) = 0;
谁能告诉我这段代码的含义? C中单词predicate
的含义是什么?
答案 0 :(得分:4)
该句子是一个声明和定义指向函数的指针,该函数接受一个参数(char)并返回int。指针初始化为空指针值。
“谓词”这个词是程序员对变量名的选择。
参考:cdecl
可以像这样使用predicate
:
/* UNTESTED */
int IsLower(char c) { return c >= 'a' && c <= 'z'; }
int main () {
int (*predicate)(char);
predicate = IsLower;
if ( (*predicate)('f') == 1 ) printf("'f' is lower case!\n");
}