读书人

指向函数指针的指针怎么表达?(二)

发布时间: 2012-03-01 10:25:47 作者: rapoo

指向函数指针的指针如何表达?(二)
指向函数指针的指针:

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <string.h>double fun(double x){    return x;}main(){    void* data=malloc(4);    memmove(data,&fun,4);    printf("fun  =%p\n",fun);    printf("*data=%p\n",        *(double*(*)(double*))data    );}

如何修改程序,让两行显示相同的值?

[解决办法]
C/C++ code
    double (*data)(double) = fun;    printf("fun  =%p\n",fun);    printf("*data=%p\n",data);
[解决办法]
double(* data)(double) = fun

[解决办法]
memmove(data,&fun,4);
data的值输出即可。
[解决办法]
直接输出不就是了嘛?
[解决办法]
int(*a[10])(int);

刚才有人问
[解决办法]
探讨

int(*a[10])(int);

刚才有人问

[解决办法]
定义时候不是多颗*的问题么?
[解决办法]
在函数钱加个*,比如说int *a();返回一个指向整型的指针,但是不要和int (*a)()搞混了后者是一个指针,1前者是一个函数,具体你可以baidu或者google

读书人网 >C语言

热点推荐