C语言函数和指针(十三)

来源:互联网 发布:英语同声传译软件 编辑:程序博客网 时间:2024/05/16 11:02


// myVoid 等价于 (*pf)void myVoid(char *);void (*pf)(char *);// 声明函数的形参为另一个函数void show(void (*fp)(char *),char *c);//创建函数指针数组typedef void(*ppf)(char *);
//数组函数元素void myVoid2(char *);void myVoid3(char *);ppf bb;int main(int argc, const char * argv[]) {        //因为 myVoid等价于 pf,这里赋值后,下面函数的实参传入 pf函数就等于 把 myVoid函数传入    pf = myVoid;    char myChar[] = "my char";    show(pf, myChar);    show(myVoid, myChar);            //函数指针数组 初始化    ppf bb[3] = {myVoid,myVoid2,myVoid3};    for (int i = 0; i< 3; i++) {                char a[10];        sprintf(a,"%d",i);        show(bb[i], a);    }        void (*addPtr)(char *) = myVoid;    addPtr("dsfsadf");        return 0;}void myVoid(char *a){    puts(a);    }void myVoid2(char *b){    puts(b);}void myVoid3(char *c){    puts(c);}void show(void (*fp)(char *),char *c){    char *str = c;    //调用 myVoid(char *a)函数    //(*fp)(str) 等价于 fp(str)//    (*fp)(str);    fp(str);}


0 0
原创粉丝点击