相关疑难解决方法(0)

函数指针和函数的地址

所以我想在制作函数指针时,你不需要operator &获取初始函数的地址:

#include <stdio.h>

double foo (double x){
    return x*x;
}

int main () {

    double (*fun1)(double) = &foo;
    double (*fun2)(double) =  foo;

    printf("%f\n",fun1(10));
    printf("%f\n",fun2(10));

    printf("fun1 = %p \t &foo = %p\n",fun1, &foo);
    printf("fun2 = %p \t  foo = %p\n",fun2,  foo);       

    int a[10];

    printf("  a = %p \n &a = %p  \n",a,&a);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

>./a.out 
100.000000
100.000000
fun1 = 0x4004f4      &foo = 0x4004f4
fun2 = 0x4004f4       foo = 0x4004f4
  a = 0x7fff26804470 
 &a = 0x7fff26804470 
Run Code Online (Sandbox Code Playgroud)

然后我意识到这对于数组也是如此,这意味着如果你有 …

c pointers function-pointers function

47
推荐指数
2
解决办法
6万
查看次数

标签 统计

c ×1

function ×1

function-pointers ×1

pointers ×1