谓词在C中意味着什么?

时间:2013-11-20 05:16:59

标签: c

我有以下代码:

int (*predicate)(char) = 0;

谁能告诉我这段代码的含义? C中单词predicate的含义是什么?

1 个答案:

答案 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");
}