C/C++指针函数与函数指针

一、指针函数

  • 指针函数:本质为一个函数,返回值为指针
  • 指针函数:如果一个函数的返回值是指针类型,则称为指针函数
  • 用指针作为函数的返回值的好处:可以从被调函数向主函数返回大量的数据,常用于返回结构体指针。
  • 注意事项:不要返回局部变量的指针,因为局部变量出了自定义函数,内存空间会被系统自动的回收。可以使用new关键字,在"堆"上动态创建一个局部变量指针,因为使用new申请的变量,只要不使用delete操作符进行删除,就一直存在。
cpp 复制代码
int *test();

二、函数指针

  • 函数指针:本质为一个指针,,指向函数的内存地址。
  • 指向函数的指针称为函数指针。不需要函数名,相当于函数的入口
  • 函数名和数组名一样,代表了函数代码的首地址,因此在赋值时,可将函数指针指向函数名
cpp 复制代码
void (*ptr)(int x);
相关推荐
xiaoye-duck5 分钟前
《C++ 工具库实战》高性能日志 spdlog:从基础使用到工程化封装
c++·第三方库
努力努力再努力wz19 分钟前
【Lua入门系列】从 C++ 迭代器到 Lua 迭代器:一文深入理解 Lua 有状态以及无状态迭代器与泛型for、闭包、ipairs、pairs 和 next
开发语言·c++·lua
兔头?23 分钟前
JVM学习文档
jvm·学习
努力实干27 分钟前
第二阶段 · 第 7 课:C++ 多线程与线程安全
开发语言·c++·安全
Navigator_Z27 分钟前
LeetCode //C - 1309. Decrypt String from Alphabet to Integer Mapping
c语言·算法·leetcode
爱聊灵光的维C1 小时前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法
小菜要扣篮2 小时前
Ubuntu 下使用 vscode 打开 C++ 项目后,无法通过 F12 定位到定义问题解决
c++·vscode·ubuntu
wuminyu2 小时前
JVM规范学习总结:class执行性能差异
java·linux·c语言·jvm·c++
EVEN-09132 小时前
Linux-线程控制
linux·jvm
旖旎夜光2 小时前
LCR 170:交易逆序对的总数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法