`

c语言中的“函数类型” 与 ”函数指针类型“

 
阅读更多

参考:http://light4.github.com/Linux-C/ch23s08.html

/*
 * =====================================================================================
 *
 *       Filename:  b.c
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  09/15/2012 17:04:03
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  YOUR NAME (), 
 *   Organization:  
 *
 * =====================================================================================
 */
#include <errno.h>
#include <math.h>  
#include <stdio.h> 
#include <stdlib.h>
#include <string.h>

typedef void F(const char*); //define function type F
typedef void (*PF)(const char*); //define a function pointer type PF

F a;

F* retPF(F* f){  // a function return a "function pointer type"
    (*f)("in Ret");
    return f;
}


    int
main ( int argc, char *argv[] )
{
    a("hell");
    PF pF = a;
	printf ("\nProgram %s\n\n", argv[0] );
    (*pF)("hello");
    F* rP = retPF(a);
    rP("rP printed");
    PF pF2 = retPF(a);
    pF2("PF2 printed");

	return EXIT_SUCCESS;
}		/* ----------  end of function main  ---------- */

void a(const char* str){
    printf("%s\n", str);
}
分享到:
评论

相关推荐

    C语言函数指针.doc

    一、函数指针的定义 顾名思义,函数指针就是函数的指针。它是一个指针,指向一个函数。看例子: A) char * (*fun1)(char * p1,char * p2); B) char * *fun2(char * p1,char * p2); C) char * fun3(char * p1,char * ...

    浅谈C语言中函数形参为指针类型的参数传递.pdf

    浅谈C语言中函数形参为指针类型的参数传递.pdf

    C语言指针函数和函数指针.rtf

    c语言指针一、指针函数 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。 格式: 类型说明符 * 函数名(参数) 当然了,由于返回的是一个地址,所以类型...

    C语言程序设计-指针与函数.pptx

    指针与函数 4-1 函数型指针变量的定义 在C语言程序中,函数定义了之后,...函数指针调用函数时,用(*pf)代替原函数名。 指向函数的指针变量pf,如果作pf±n,pf++,pf--运算,则没有意义。 4-2 函数型指针的赋值 【例8.

    c语言中详解指针.doc

    c语言中详解指针 1 指针是什么 2 指向数据对象的指针 3 指针的应用与误用 4 指针与一维数组 5 指针的应用(二) 6 高维数组名 7 变量长度数组—VLA(C99) 8 数组类型的字面量(C99) 9 指针与结构体 10 指针与函数

    C语言之指针、数组和函数解释

    1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。  2、数组名对应着(而不是指向... 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。

    C语言函数指针复习小结

    int (*func)(int *p); 首先找到那个未定义的标识符,就是func,它的外面有一对圆括号,而且左边是一个*号,这说明func是一个指针,然后跳出这个...就是一个函数指针,这一类函数具有int*类型的形参,返回值类型是 int。

    C语言之指针数组函数

    基本解释  1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 ... 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。

    详解C语言结构体中的函数指针

    那么,我们在C语言的结构体中,只能通过定义函数指针的方式,用函数指针指向相应函数,以此达到调用函数的目的。 函数指针 函数类型 (*指针变量名)(形参列表);第一个括号一定不能少。 “函数类型”说明函数的返回...

    深入解析C语言中函数指针的定义与使用

    为了方便操作类型属性相同的函数,c/c++引入了函数指针,函数指针就是指向代码入口地址的指针,是指向函数的指针变量。 因而“函数指针”本身首先应该是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向...

    C语言中函数与指针的应用总结

    1. 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自动转换成指针的类型. 代码如下:#include void fun(){} int main(void){ printf(“%p %p %p\n”, &fun, fun, *fun); return 0;}——...

    c语言指针常见指针及如何使用附带相关基本概念

    C语言中的指针是一种特殊的数据类型,它存储了一个内存地址,可以用来访问和操作存储在该地址上的数据。指针在C语言中具有重要的应用,例如动态内存分配、函数参数传递、数组操作等。使用指针可以提高程序的效率和...

    C语言全套视频教程 视频.txt

    38) C语言之函数之返回值和函数类型 39) C语言之指针做函数参数 40) C语言之数组做函数参数 41)c语言之递归 字符串和字符串函数 42)c语言之字符串I/O 43) C语言之字符串输入/输出 44) C语言之字符串处理函数 ...

    C语言指针-从底层原理到熟练应用(含源码)

    一、前言 二、变量与指针的本质 1. 内存地址 2. 32位与64位系统 3. 变量 4. 指针变量 5. 操作指针变量 三、指针的几个相关概念 1. const属性 2. void型指针 3. 空指针和野指针 ...6. 函数指针 五、总结

    自学去c语言视频教程

    38) C语言之函数之返回值和函数类型 39) C语言之指针做函数参数 40) C语言之数组做函数参数 41) C语言之函数之递归详解 字符串和字符串函数 42) C语言之字符串表示和字符串I/O 43) C语言之字符串输入/输出 44) ...

    C语言教程---指针

    10.1地址和指针的概念 10.2变量的指针和指向变量的 指针变量 10.3数组与指针 10.4字符串与指针 10.5指向函数的指针 10.6返回指针值的函数 10.7指针数组和指向... 10.8有关指针的数据类型和指针运算的小结

    C语言文件操作及函数大全

    C语言文件操作及函数大全 2.文件操作函数: (1)文件打开函数fopen fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen("文件名","使用文件方式"); 其中,“文件指针名”必须是被说明为FILE 类型的...

    C语言程序设计课件 数组、指针、函数

    c语言程序设计课件,包括数据类型,数组,指针,函数

    C语言指针习题

    常见指针类型,处理方法,和设计思想,数组和指针,字符串与指针,指向指针的指针,指向函数的指针,返回指针的函数等应用。

    传智播客C语言课件

    6.指针,指针与地址,指针与数组,指针与字符串,指针与函数,多重指针 7.结构体,共用体,枚举,typedef,宏定义,预编译,文件包含,条件编译 8.内存分析,作用域,生存期,可见域,C语言调试,排错,分析技巧

Global site tag (gtag.js) - Google Analytics