我刚在coursera讲座的1分06秒时刻想出了这段代码。它是用来做什么的?
int (*cmp)(char*, char*);
我刚在coursera讲座的1分06秒时刻想出了这段代码。它是用来做什么的?
int (*cmp)(char*, char*);
这是一个指向函数的指针,该函数返回一个整数,并以两个字符指针作为参数。
基本规则可以归结为以下几点:
按以下三个简单步骤操作:
[X] or []
X
大小为... 或 数组大小未定义...(type1, type2)
type1
和type2
的函数返回...参考资料:1.Clockwise-rule 2.right-left rule
阅读C语言声明时,您必须以蝴蝶式的方式阅读(这是古希腊常用的石头刻写方式)。
pointer to
function that
has (char*, char*) type parameters as input
and int as output
编辑:
int cmp (char*, char*);
该函数有三个部分:返回类型是整数,函数名称为cmp
,有两个参数,都是字符(数组)的指针。具体来说,该函数用于排序,例如,如果第一个参数小于第二个参数,则函数将返回负数;如果相等,则返回零;如果大于,则返回正数。例如,如果我有以下代码:char c1 = 'a';
char c2 = 'b';
int result = cmp(&c1, &c2);
请查看此链接,了解关于C语言指针的详细信息。
希望这回答了你的问题。