首页 > 代码库 > C语言关于指针函数与函数指针个人理解
C语言关于指针函数与函数指针个人理解
1,函数指针
顾名思义,即指向函数的指针,功能与其他指针相同,该指针变量保存的是所指向函数的地址。
假如是void类型函数指针定义方式可以是 void (*f)(参数列表);亦可以先用 typedef void (*F)(参数列表),
F f.但要注意函数指针的类型要与函数类型相同.
下面举个简单的例子
1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef void (*F)(); 4 5 void print_hello() //简单定义一个无参数的打印函数 6 { 7 printf("hello ~\n"); 8 } 9 10 void main() 11 { 12 F f1; //此处相当于 void (*f1)(); 13 void (*f2)(); 14 15 f1 = print_hello; 16 f2 = print_hello; 17 18 f1(); 19 f2(); 20 21 system("pause"); 22 }
2,指针函数
指针函数即返回值为指针的函数。例如 int *a()、char *b()...分别代表返回值为整形指针,字符型指针的函数。
下面举个简单的例子
#include<stdio.h> #include<stdlib.h> char *str() //定义一个返回值为字符指针的函数 { char *a = "hello world ~"; return a; } void main() { char *c = str(); //可以在定义的时候同时赋值 char *b; //也可以先定义,后赋值 b = str(); printf("%s\n%s\n",c,b); system("pause"); }
C语言关于指针函数与函数指针个人理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。