当前位置: 首页 > news >正文

c++278函数指针

#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<string.h>
#include<stdio.h>//数组类型基本语法知识梳理
//定义一个数组类型
//int a[10];//定义一个指针数组类型//定义一个指向数组类型的指针  数组类型的指针void main()
{int a[10];//a代表数组首元素的地址 &a代表整个数组的地址 {//定义一个数组类型typedef int(myTypeArray)[10];myTypeArray myArray;myArray[0] = 10;printf("%d\n", myArray[0]);}{//定义一个指针数组类型 用一个指针指向数组typedef int(*PTypeArray)[10];//int *pPTypeArray myPArray;//用这个指针类型定义变量  myPArray这个类型指向数组 //每次往后跳sizeof(int)*10myPArray = &a;//&a代表整个数组的地址*myPArray[0] = 20;printf("%d\n",a[0]);}{//定义一个指向数组类型的指针  数组类型的指针int(*MyPointer)[10];//变量 告诉c编译器给我分配内存MyPointer = &a;*MyPointer[0] = 40;printf("%d\n", a[0]);}return;
}```cpp
int  add(int a, int b)
{	return a + b;
}
void main()
{add(1, 2);//直接调用 函数名就是函数入口地址{//1.定义一个函数类型typedef int (MyFuncType)(int a, int b);//定义了一个类型MyFuncType* myPointerFunc ;//定义了一个指针 指向某一各类的函数myPointerFunc = &add;//myPointerFunc(3, 4);//间接调用}{//定义一个函数指针类型//*myPointerFuncType指针类型typedef int (*myPointerFuncType)(int a, int b);//int *a=null;myPointerFuncType myPointer;//定义一个指针myPointer = add;myPointer(5, 6);}{//函数指针int (*MyponterFunc)(int a, int b);//定义了一个变量MyponterFunc = add;MyponterFunc(7, 8);}
}

```cpp
int  add(int a, int b)//任务的实现者
{	return a + b;
}
//任务的调用和编写可以分开
//1. 函数指针做函数参数
//mainop框架不发生变化
typedef int (*myPointerFuncType)(int a, int b);
int MainOp(myPointerFuncType myPointer)
{int c=myPointer(5, 6);return c;}
//2.int(*myPointerFuncType)(int a, int b) 
int MainOp2(int(*myPointerFuncType)(int a, int b))
{//myPointer(5, 6);int c= myPointerFuncType(5, 6);return c;
}void main()
{add(1, 2);//直接调用 函数名就是函数入口地址{//1.定义一个函数类型typedef int (MyFuncType)(int a, int b);//定义了一个类型MyFuncType* myPointerFunc ;//定义了一个指针 指向某一各类的函数myPointerFunc = &add;myPointerFunc(3, 4);//间接调用}{//定义一个函数指针类型//*myPointerFuncType指针类型typedef int (*myPointerFuncType)(int a, int b);//int *a=null;myPointerFuncType myPointer;//定义一个指针myPointer = add;myPointer(5, 6);}{//函数指针int (*MyponterFunc)(int a, int b);//定义了一个变量MyponterFunc = add;MyponterFunc(7, 8);}MainOp2(add);
}

在这里插入图片描述

http://www.lryc.cn/news/444469.html

相关文章:

  • sklearn特征选取之SelectFromModel
  • vue一级、二级路由设计
  • python爬虫:将知乎专栏文章转为pdf
  • 嵌入式笔记(入门系列2)
  • 并发编程多线程
  • 【十八】MySQL 8.0 新特性
  • 巨潮股票爬虫逆向
  • 传知代码-从零开始构建你的第一个神经网络
  • 大厂面试真题:SpringBoot的核心注解
  • Java设计模式—面向对象设计原则(五) ----->迪米特法则(DP) (完整详解,附有代码+案例)
  • docker多阶段镜像制作,比如nginx镜像,编译+制作
  • 大语言模型量化方法GPTQ、GGUF、AWQ详细原理
  • 《 C++ 修炼全景指南:十 》自平衡的艺术:深入了解 AVL 树的核心原理与实现
  • SAP 特别总账标识[SGL]
  • 认知杂谈77《简单:通往高手的技巧》
  • 《SmartX ELF 虚拟化核心功能集》发布,详解 80+ 功能特性和 6 例金融实践
  • 9月23日
  • 如何使用Jinja定义dbt宏
  • 深入理解 JavaScript 三大作用域:全局作用域、函数作用域、块级作用域
  • 【门牌制作 / A】
  • Git+Jenkins 基本使用(Basic Usage of Git+Jenkins)
  • 智谱清言:智能语音交互的引领者,解锁高效沟通新体验
  • 前端组件库
  • 后端常用的mybatis-plus方法以及配合querywapper使用
  • 【设计模式】万字详解:深入掌握五大基础行为模式
  • C++ 9.19
  • [Unity Demo]从零开始制作空洞骑士Hollow Knight第五集:再制作更多的敌人
  • 怎么把excel翻译成英文?这些翻译技巧记得收藏
  • 信息技术引领的智能化未来
  • 【QT开发-Pyside】使用Pycharm与conda配置Pyside环境并新建工程