首页 > 编程语言 > 详细

C\C++学习笔记 3

时间:2018-09-17 11:02:52      阅读:195      评论:0      收藏:0      [点我收藏+]

C++记录7

函数指针: 函数名为地址, 地址指的是在机器指令存储的地址。

double func(int line)
{
reture line*3.5;
}

void f(int line, double (*pa)(int))
{
cout (*pa)(line);
}

f(5, func)

 

深入函数指针:

定义函数原型, 对于数组默认就是指针。
const double * f1(const double [], int)
const double * f2(const double *, int)
该函数返回值是指针。


int main()
{
double av[3] ={1,2,3}
const double * (*p1)(constdouble *,int)=f1
auto p2 = f2;

cout (*p1)(av,3) 返回地址, *(*p1)(av,3)返回值
cout p2(av,3) 返回地址, *p2(av,3)返回值

函数指针数组:
const double * (*pa[3])(const double *, int) = {f1, f2, f3}

auto pb = pa auto不能定义数组但可以初始化指针地址。

cout pa[1](av,2) 地址, *pa[1](av,2) 值
cout pb[1](av,2) 地址, *pb[1](av,2) 值

指针的指针
auto pd = &pa
const double * (*(*pc)[3])(const double *, int) = &pa

cout 地址为 *(*pc)[0])(av,2) *(*(*pc))[0](av,2)值

cout (*pd)[0](av,2) 为地址, *(*pd)[0](av,2)为值。

double const * f1(const double * ar, int n)
{
reture ar+n;
}

double const * f2(const double [] ar, int n)
{
reture ar+n;
}
}

C\C++学习笔记 3

原文:https://www.cnblogs.com/ruili07/p/9660901.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!