c/c++ 函数类型和函数指针类型 详解 您所在的位置:网站首页 心形函数是什么类型的函数图片 c/c++ 函数类型和函数指针类型 详解

c/c++ 函数类型和函数指针类型 详解

2024-07-11 08:50| 来源: 网络整理| 查看: 265

c/c++ 中数据结构跟指针真的是很强大

今天解释下 函数类型和函数指针类型

1.函数类型 在C语言中,函数也是一种类型,可以定义指向函数的指针。我们知道,指针变量的内存单元存放一个地址值, 而函数指针存放的就是函数的入口地址.

#include void say_hello(const char *str); void (*fptr)(const char *); int main(void) { void (*fptr)(const char *) = say_hello; fptr("KingPlesk"); return 0; } void say_hello(const char *str) { printf("Hello %s\n", str); }

首先要理解的是 void (*fptr)(const char *) 这是定义一个变量 例如 void *ptr   这个是一个函数指针变量,不要把这个void (*fptr)(const char *) 当作一个声明定义。 typedef 是一个类型声明的 关键字,

void say_hello(const char *str);  函数也是一种类型,那么就可以用typedef来声明

typedef void FUNC_HELLO_PTR(const char *str);

—————————————————————————

FUNC_HELLO_PTR   等于  void say_hello(const char *str);  声明

FUNC_HELLO_PTR    *p = void (*fptr)(const char *str);  函数指针

看下我写的一个实例:演示函数指针和 函数类型声明

C++ Demo

#include void hello(void);//函数声明 typedef void FUNC_HELLO_PTR(void);//typedef函数类型 void (*hellotest)(void);//定义一个函数指针 int main(int argc, char *argv[]) { //使用函数类型指针方式调用 FUNC_HELLO_PTR *t = hello; t(); //直接使用函数指针调用 hellotest = hello; hellotest(); return 0; } void hello(void){ std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有