谓词在C中是什么意思?

谓词在C中是什么意思?,c,C,我有以下代码: int (*predicate)(char) = 0; 有人能告诉我这个代码是什么意思吗?在C语言中,谓词一词的含义是什么?这句话是一个指向函数的指针的声明和定义,该函数使用一个参数(char)并返回int。指针初始化为空指针值 “谓词”一词是程序员对变量名的选择 参考: 可以这样使用谓词: /* UNTESTED */ int IsLower(char c) { return c >= 'a' && c <= 'z'; } int main ()

我有以下代码:

int (*predicate)(char) = 0;

有人能告诉我这个代码是什么意思吗?在C语言中,
谓词
一词的含义是什么?

这句话是一个指向函数的指针的声明和定义,该函数使用一个参数(char)并返回int。指针初始化为空指针值

“谓词”一词是程序员对变量名的选择

参考:

可以这样使用
谓词

/* 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");
}
/*未经测试*/

int IsLower(char c){return c>='a'&&c,这意味着我可以使用任何变量名,如
谓词
,谓词
,没有特殊意义?是的,“谓词”没有特殊意义。它可能被命名为“p”、“指向函数的指针”或“George”同样有效。正如@Rob的回答所指出的,C本身对该标识符没有意义。但是,程序员可能选择了谓词来记录这是:中的谓词,该函数测试有关其参数的某些内容并返回true/false。另请参阅。