C语言关于函数指针的&和*

C89,调用函数指针,需要在函数指针前加*,对函数指针赋值,需要在函数名前面加&

C89,以后,对函数指针操作不需要& 和 *,但,使用它们是个好习惯

如下代码(C89函数指针风格)

#include <stdio.h>
#include <stdlib.h>
int max(int x, int y)
{
    return (x > y ? x :y);
}
int main ( int argc, char *argv[] )
{
    int (*p)(int,int) = &max;	// 这里&max
    int a, b, c;
    scanf("%d%d", &a, &b);
    c = (*p)(a,b);	// 这里(*p)
    printf("%d\n", c);
    return EXIT_SUCCESS;
} 

本文为“老吴笔记”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注