iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++的函数与指针
  • 415
分享到

C++的函数与指针

2024-04-02 19:04:59 415人浏览 独家记忆
摘要

目录函数与指针指针作函数的参数-实现地址传递返回指针的函数指向函数的指针变量总结函数与指针 一个函数在编译时被分配一个入口地址,这个入口地址就称为函数的指针。在c++中, 函数名代表

函数与指针

一个函数在编译时被分配一个入口地址,这个入口地址就称为函数的指针。在c++中, 函数名代表函数的入口地址。

  • 指针作函数的参数-实现地址传递
  • 返回指针的函数
  • 利用指向函数的指针调用函数

指针作函数的参数-实现地址传递

指针作函数的参数,具有以下用途:

  • 指针作函数参数,这时形参接受的是实参的地址。函数中通过对指针的间接访问实现参数的按“引用传递”功能
  • 设置多个指针参数可从函数中带回多个结果值
  • 对于传递一块连续的内存区域数据,传递首地址比传递数

据值不仅开销小而且效率高

例如:

编写交换两个变量值的函数(地址传递)

相当于改变两个指针指向的变量内容。


void swap(int *px, *py)
{
	int t;
	t = *px;
	*px = *py;
	*py = t;
}
int main()
{
	int x=2, y=3;
	cout<<"调用前:x="<<x<<",y="<<y<<endl;
	swap(&x, &y);
	cout<<"调用后:x="<<x<<",y="<<y<<endl;
	return 0;
}

在这里插入图片描述

例如:

利用指针参数带回函数中的多个值

计算一维数组元素的平均值,并能带回数组中的最大值与最小值

函数原型设计如下:

double faver(int s[], int n, int *max, int *min);
其中:
s-一维数组
n-数组中元素个数
max-指向最大值
min-指向最小值
将平均值作为函数的返回值


double faver(int s[],int n,int *max,int *min)
{
	double aver=s[0];
	*max= *min =s[0];
	for(int i=1;i<n;i++)
	{ aver+=s[i];
	if(s[i]>*max)*max=s[i];
	if(s[i]<*min)*min=s[i];
	}
	return aver/n;
}
int main()
{
int a[5]={80,89,67,76,98}, max, min;
double aver;
aver=faver(a,5,&max,&min); //调用函数
cout<<"max="<<max<<"\n"<<"min="<<min<<endl;
cout<<"aver="<<aver<<endl;
return 0;
}

返回指针的函数

返回指针的函数定义格式如下


类型 * 函数名(形式参数表)
{
   语句序列
}

其中:

类型 * 为函数的返回值类型,是一个指针类型

例子

编写函数,返回字符串中首次出现的非空格字符开始的字符串

如:" using namespace std;" 返回"using namespace std;"


char * noblank(char * str)
{
	while(*str == ' ')
		str++;
	return str;
}
int main()
{
	char *s1 = "    using namespace std;", *s2;
	s2 = noblank(s1);
	cout << s2 << endl;
	return 0;
}

指向函数的指针变量

使用指向函数的指针变量可以存放函数的指针

指向函数的指针变量定义格式如下:


函数返回值类型 ( * 指针变量名 ) (形参类型表列);

注意,中间的括号不能省略

例如:

定义指向double型函数的指针变量,该函数有一个double型参数


double (*pf)( double );
pf=sqrt; //pf 指向一个平方根函数

时,使用*pf可以调用该函数。


cout<<(*pf)(2.0)<<endl; //输出根号2的值
与 cout<<sqrt(2.0)<<endl; 表示式是等价的

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C++的函数与指针

本文链接: https://www.lsjlt.com/news/155833.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++的函数与指针
    目录函数与指针指针作函数的参数-实现地址传递返回指针的函数指向函数的指针变量总结函数与指针 一个函数在编译时被分配一个入口地址,这个入口地址就称为函数的指针。在C++中, 函数名代表...
    99+
    2022-11-12
  • C语言的数组指针与函数指针详解
    目录前言函数指针语法数组指针与指针数组总结前言 数组指针和函数指针都是C语言比较难的知识点,尤其是函数指针,并且函数指针在开发中有着巨大的作用。 函数指针语法 定义一个函数指针,并通...
    99+
    2022-11-13
  • c++函数名指针和函数指针
    目录前言例 1例 2例 3前言 我们先来看一下函数指针式如何定义的,假如我们有一个函数int fun(int){…};那么他对应的函数指针写法就应该是int (*p)(...
    99+
    2022-11-13
  • C语言如何使用数组指针与函数指针
    这篇文章主要为大家展示了“C语言如何使用数组指针与函数指针”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言如何使用数组指针与函数指针”这篇文章吧。函数指针语法定义一个函数指针,并通过函数指针...
    99+
    2023-06-29
  • C++指针与数组:指针详解
    目录一. What(什么是指针)1. 地址初了解2. 指针概念3. 指针与指针变量二. Why(为什么要有指针)三. How(如何使用指针)1. 基本定义2. 取地址操作符 &...
    99+
    2022-11-12
  • c++函数名指针和函数指针怎么定义
    本文小编为大家详细介绍“c++函数名指针和函数指针怎么定义”,内容详细,步骤清晰,细节处理妥当,希望这篇“c++函数名指针和函数指针怎么定义”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言我们先来看一下函数指针...
    99+
    2023-06-29
  • C++函数指针详解
    函数指针基础: 1. 获取函数的地址 2. 声明一个函数指针 3.使用函数指针来调用函数 获取函数指针: 函...
    99+
    2022-11-12
  • C语言详解函数与指针的使用
    目录一、函数类型二、函数指针三、回调函数四、小结一、函数类型 C 语言中的函数有自己特定的类型 函数的类型由返回值,参数类型和参数个数共同决定,如 int add(int i, in...
    99+
    2022-11-13
  • C语言中怎么使用指针函数和函数指针
    本篇内容介绍了“C语言中怎么使用指针函数和函数指针”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、指针函数当一个函数声明其返回值为一个指针...
    99+
    2023-06-16
  • C语言中如何使用指针函数和函数指针
    这篇文章给大家介绍C语言中如何使用指针函数和函数指针,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、指针函数当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。格式:...
    99+
    2023-06-17
  • C++函数指针与C#委托之间有何联系
    C++函数指针与C#委托之间有何联系,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#中有一种应用方法叫做委托。其应用方式及实现功能和我们以前为大家介绍的C++...
    99+
    2023-06-17
  • C/C++函数指针深入探究
    目录函数指针语法函数地址声明使用函数指针调用函数深入理解函数指针使用typedef 简化函数指针 为什么要使用函数指针? 调用的灵活性和通用性。 试想一下,我们在设计初期并不知道我们...
    99+
    2022-11-13
  • C++函数指针,对象指针,this指针,指向类静态怎么用
    这篇文章主要介绍了C++函数指针,对象指针,this指针,指向类静态怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++函数指针,对象指针,this指针,指向类静态怎么用文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • python(函数指针和类函数指针)
    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】     函数指针和类函数指针在c语言下面的概念都比较简单,用在脚本下面也很方便。因为脚本语言一切类型都是对象,所以根本不存在指...
    99+
    2023-01-31
    指针 函数 python
  • 如何理解C语言函数传参:指针的指针
    这篇文章主要介绍“如何理解C语言函数传参:指针的指针”,在日常操作中,相信很多人在如何理解C语言函数传参:指针的指针问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解C语言函数传参:指针的指针”的疑惑有所...
    99+
    2023-06-15
  • C++函数指针+对象指针+this指针+指向类静态和非静态成员的指针
    目录1、指向函数的指针2、对象指针3、this指针4、指向类的非静态成员的指针5、指向类的静态成员的指针 1、指向函数的指针 函数的代码在内存中的首地址,是由函数名表示的,也就是说函...
    99+
    2022-11-13
  • C++函数指针的用法详解
    目录C++函数指针详细理解函数指针初识函数指针作为形参使用函数指针作为返回值练习总结C++函数指针详细理解 函数指针初识 函数指针是指向函数的指针,并不等于函数,它能够执行函数的操作...
    99+
    2022-11-12
  • C语言函数指针详解
    目录Introduction函数指针 Function PointersExercise 1:qsort中的函数指针Exercise 2:总结Introduction 上一个lab的...
    99+
    2022-11-12
  • C++ 函数指针详细总结
    目录1、函数指针1.1 获取函数地址1.2 声明函数指针1.3 函数指针传参1.4 调用函数2、函数指针进阶1、函数指针 函数指针顾名思义,就是指向函数的指针。 和数据类似,C++当...
    99+
    2022-11-12
  • C++中返回指向函数的指针示例
    在C++中,函数的形参可以是指向函数的指针,函数也可以返回函数的指针。例如:int (*ff(int)) (int *,int);表示:ff(int)是一个函数,带有一个int型的形...
    99+
    2022-11-15
    指向函数的指针 C++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作