correct way to assign function pointer

前端 未结 2 553
庸人自扰
庸人自扰 2020-12-14 22:11

I\'m a little confused about the correct syntax for assigning a function pointer to a variable. If I have a function foo

int foo();

and I

2条回答
  •  伪装坚强ぢ
    2020-12-14 22:54

    foo and &foo values are equivalent in C and have same type.

    The & operator here is correct but redundant.

    Note that assigning a function pointer to a void * is not valid in C.

    void *fp1 = foo;   // invalid
    int (*fp2)() = foo;  // valid
    int (*fp3)() = &foo; // valid
    

    (These are actually declarations but the constraints of the assignment operator apply.)

提交回复
热议问题