C语言关于指针函数与函数指针个人理解

1,函数指针

  顾名思义,即指向函数的指针,功能与其他指针相同,该指针变量保存的是所指向函数的地址。

假如是void类型函数指针定义方式可以是 void (*f)(参数列表);亦可以先用 typedefvoid (*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 }

View Code

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");}

View Code

关于爱情的句子:情不知所起,一往而情深。

C语言关于指针函数与函数指针个人理解

相关文章:

你感兴趣的文章:

标签云: