C语言 -- 指针与函数及指向函数的指针

tech2023-09-27  83

/* 返回指针的函数 */ //返回 char 类型的指针,返回字符串,如果不带*,则返回字符 char *testM(){ return "rose"; } int main() { char *name = testM(); printf("name = %s\n",name);//输出结果为:name = rose return 0; } /* 指向函数的指针 */ void test() { printf("调用了 test 函数\n"); } double haha(double d, char *s, int a) { } int main() { /* 定义指向函数的指针: (*p)是固定写法,代表指针变量 p 将来肯定指向函数 左边的 void:指针变量 p 指向的函数没有返回值 右边的():指针变量 p 指向的函数没有形参 */ //无返回值,无形参 void (*p)(); //有返回值,有形参 double (*p)(double, char *, int); p = haha; //或者 double (*p)(double, char *, int) = haha; //数组名代表数组的地址,同理,函数名代表函数的地址 //指针变量 p 指向了 test 函数 p = test; //调用方法的三种方式 //1.间接调用,由上可知,p 和 test 是等价的 p(); //2. 利用指针取出所指向的函数,然后调用函数,即利用指针变量间接调用函数 (*p)(); //3. 直接调用函数 test(); return 0; }
最新回复(0)