码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-04-08 20:43:38      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:use   返回   class   返回值   指针   isp   print   hid   lap   

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 }
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语言关于指针函数与函数指针个人理解

标签:use   返回   class   返回值   指针   isp   print   hid   lap   

原文地址:http://www.cnblogs.com/cxz66/p/6682879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!