`
langzixin
  • 浏览: 127415 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

函数指针数组_函数指针作为返回值

阅读更多

//第一种实现方式

#include <stdio.h>
#define N 3

char *func1_0();
char *(*func1)();

char *(*func2_0())();//返回指向返回值为字符指针的函数的函数指针
char *(*func2_1())();
char *(*func2_2())();

char *(*(*func2[N])())();//函数指针数组

int main(void)
{
 func2[0] = func2_0;
 func2[1] = func2_1;
 func2[2] = func2_2;
 for(int i = 0; i < N; i++)
 {
  func1 = func2[i]();
  printf("%s\n", func1());
 }
 return 0;
}

char *func1_0()
{
 return "ssssss";
}

char *(*func2_0())()
{
 return func1_0;
}
char *(*func2_1())()
{
 return func1_0;
}
char *(*func2_2())()
{
 return func1_0;
}

 

//第二种实现方式

#include <stdio.h>
#define N 3


typedef char *(*func1)();
typedef func1 (*func2)();

 

char *func1_0();

 

func1 func2_0();
func1 func2_1();
func1 func2_2();

 

int main(void)
{
 func1 func11;
 func2 func[N] = {func2_0, func2_1, func2_2};

 for(int i = 0; i < N; i++)
 {
  func11 = func[i]();
  printf("%s\n", func11());
 }
 return 0;
}

char *func1_0()
{
 return "ssssss";
}

func1 func2_0()
{
 return func1_0;
}

func1 func2_1()
{
 return func1_0;
}

func1 func2_2()
{
 return func1_0;
}

分享到:
评论

相关推荐

    指针函数和函数指针 C++代码

    很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在一块的时候,能把强迫症的人活活逼疯。 函数返回值可以是 ...

    用C语言指针作为函数返回值_C语言中文网1

    9.1 1分钟彻底理解指针的概念 9.2 大话C语言指针变量 9.3 C语言指针变量的运算 9.4 数组指针(指向数组的指针) 9.5 字符串指针(指向字符串的

    C语言 用指针作为函数返回值详解

    C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个: #include #include char *strlong(char *str1, char *str2){...

    指针与函数的关系

    文档介绍了回调函数、函数指针作为函数返回值、指针函数、函数指针数组四种功能的使用介绍。

    C语言中数组作为函数的参数以及返回值的使用简单入门

    如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数,使用以下三种方式与所有三个声明方法之一产生类似的结果,因为每一种方式告诉编译器,一个整数指针将会要被接收。类似的方式,可以使用多维数组形式...

    函数指针和指针函数的理解

    我知道函数指针是指向函数的指针,指针函数还是指一个函数的返回值是一个指针,但下面 的几道题还是感觉很迷惑。各位能否讲的详细点呢? (1)float(**def)[10] def是什么? (2)double*(*gh)[10] gh是什么? (3)double...

    C语言函数指针.doc

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

    函数指针就是指向函数的指针;类成员方法指针,类具有类域操作符

    在C++中,函数指针一般是指全局命名空间中的函数指针,类成员函数指针,与函数指针不同的是,类具有类域操作符,在声明类成员函数指针的时候,要指定成员函数返回值类型、类域操作符、成员函数参数列表

    指针作为函数的返回值.zip

    指针作为函数的返回值

    指针函数和函数指针

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

    无参数无返回值窗体,VB函数指针实例

     VB函数指针相关实例,无参数无返回值,得到一个外部函数的指针,还原Run函数的地址指针,得到对象实例的基址,即VFT虚函数表的首地址,在VFT首地址的基础上,增加&H1C后,即可得到第一个接口函数的地址

    一般函数指针和类的成员函数指针深入解析

    1、指向一般函数的指针函数指针的声明中就包括了函数的参数类型、顺序和返回值,只能把相匹配的函数地址赋值给函数指针。为了封装同类型的函数,可以把函数指针作为通用接口函数的参数,并通过函数指针来间接调用所...

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

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

    C++函数指针和回调函数使用解析

    通常我们说的指针变量是指向一个整型变、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 函数指针变量的声明: typedef int (*fun_ptr)(int,int); // 声明一个...

    函数、内存、一维数组、二维数组

    对于函数没有具体返回值的情况,返回值类型用关键字void表示, 那么该函数中的return语句如果在最后一行可以省略不写。 注意: •函数中只能调用函数,不可以在函数内部定义函数。 •定义函数时,函数的...

    php reset() 函数指针指向数组中的第一个元素并输出实例代码

    reset函数将数组的内部指针指向第一个单元,并输出该数组。 基本语法 reset(array) reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值。 参数介绍: 参数 描述 array 必需。规定要使用的...

    C语言函数指针复习小结

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

    传智播客扫地僧视频讲义源码

    04_函数指针做函数参数思想剖析_传智扫地僧 05_函数指针的正向调用案例 06_C动态库升级成框架案例_项目需求和基本思想_传智扫地僧 07_C动态库升级成框架案例_开发环境搭建 08_C动态库升级成框架案例_方法1动态库中...

    C++ 指向类成员的指针

    前面曾写过一篇恼人的函数指针(一),总结了普通函数指针的声明、定义以及调用,还有函数指针数组,函数指针用作返回值等。但是作为C++的研读,我发现我漏掉了一个最重要的内容,就是指向类成员的指针,这里将做...

Global site tag (gtag.js) - Google Analytics