C++ 函数与指针

函数内部数据是地址需要传递给调用函数,返回的当然是指针了!当然,这个返回地址也可以通过函数参数返回!

函数的参数是指针可以输出函数多个结果,返回值本身就是返回数据,什么时候需要返回指针呢?

一般形式

类型定义符 *指针型函数名(形参列表)

{

函数体;

}

"类型定义符"是指返回指针指向的数据类型。

一 分析输入输出与算法

例:实现匹配函数match:程序在输入字符串中查找一个给定的字符,如果找到,则从该字符开始打印余下的子字符串,及该字符是字符串的第几个字符;否则输出"no match found".

分析:

(1) match 函数有2个输入参数:字符串;字符;

(2)功能:在输入字符串中查找一个给定的字符,如果找到,则从该字符开始打印余下的子字符串,及该字符是字符串的第几个字符;否则输出"no match found".

(3)问题:函数的输出是什么?打印这个功能是否应该在match函数内部完成?

输入转换为输出的算法是什么?

二 指向函数的指针(函数指针)

函数的入口地址

程序也存储在内存中,与数据一样,函数的第一条指令的地址,称为函数的入口地址;编译器将不带()的函数名解释为函数的入口地址。调用函数时,实际就是转到函数的入口地址,去执行入口地址的第一条指令。

三 函数指针

指向函数的指针简称为函数指针;

指向了函数的第一条指令的地址,即存储的是函数的入口地址;

这里可以将函数理解为一个变量,只是这个变量是一段可执行的指令,使用函数指针可以编写更通用,更灵活的程序。


相关推荐
BD_Marathon21 分钟前
Promise基础语法
开发语言·前端·javascript
Aotman_1 小时前
JavaScript MutationObserver用法( 监听DOM变化 )
开发语言·前端·javascript·vue.js·前端框架·es6
Bruce_Liuxiaowei2 小时前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
智航GIS2 小时前
5.1 if语句基础
开发语言·python
oioihoii2 小时前
跨越进程的对话之从管道到gRPC的通信技术演进
c++
bu_shuo2 小时前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
爱装代码的小瓶子2 小时前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
KoalaShane2 小时前
El-slider 增加鼠标滚动滑块事件
开发语言·前端·javascript
智算菩萨2 小时前
【Python进阶】搭建AI工程:Python模块、包与版本控制
开发语言·人工智能·python
C_心欲无痕2 小时前
vue3 - watchSyncEffect同步执行的响应式副作用
开发语言·前端·javascript·vue.js·vue3