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

婚恋网站策划专业餐饮网站建设

婚恋网站策划,专业餐饮网站建设,html 网站链接,农村电商运营的基本流程除了void类型的函数之外,函数在调用结束之后都要有返回值,指针也可以是函数的返回值。当一个函数的返回值是指针类型时,这个函数就是指针型函数。 使用指针型函数的最主要目的就是要在函数结束时把大量的数据从被调函数返回到主调函数中。而通…

除了void类型的函数之外,函数在调用结束之后都要有返回值,指针也可以是函数的返回值。当一个函数的返回值是指针类型时,这个函数就是指针型函数。 使用指针型函数的最主要目的就是要在函数结束时把大量的数据从被调函数返回到主调函数中。而通常非指针型函数调用结束后,只能返回一个变量或对象。

1.指针函数

除了void类型的函数之外,函数在调用结束之后都要有返回值,指针也可以是函数的返回值。当一个函数的返回值是指针类型时,这个函数就是指针型函数。 使用指针型函数的最主要目的就是要在函数结束时把大量的数据从被调函数返回到主调函数中。而通常非指针型函数调用结束后,只能返回一个变量或对象。

指针函数的一般定义形式是:

数据类型 *函数名(参数表)
{函数体
}

数据类型表明函数返回指针的类型;函数名和“*”标识了一个指针型函数;参数表中是函数的形参列表。

【例】

int* fun(int size)
{int* arr = (int*)malloc(size*sizeof(int));return arr;
}int main()
{int* p = fun(5);if (*p != NULL){for (int i = 0; i < 5; i++){p[i] = i + 1;cout << p[i] <<"  ";}cout << endl;}free(p);return 0;
}

运行结果:

在这里插入图片描述

2.函数指针

在程序运行时,不仅数据要占据内存空间,执行程序的代码也被调入内存空间并占据一定的空间。**每一个函数都有函数名,实际上这个函数名就表示函数的代码在内存中的起始地址。**由此看来,调用函数的通常形式“函数名(参数表)”的实质就是“函数代码首地址(参数表)”。

函数指针就是专门用来存放函数代码首地址的变量。 在程序中可以像使用函数名一样使用指向函数的指针来调用函数。也就是说一旦函数指针指向了某个函数,它与函数名便具有同样的作用。函数名在表示函数代码起始地址的同时,也包括函数的返回值类型和参数的个数、类型、排列次序等信息。因此在通过函数名调用函数时,编译系统能够自动检查实参与形参是否相符,用函数的返回值参与其他运算时,能自动进行类型一致性检查。

(1)声明一个函数指针

声明一个函数指针时,也需要说明函数的返回值、形参列表,其一般语法如下:

数据类型 (*函数指针名)(形参表)

数据类型说明函数指针所指函数的返回值类型;第一个圆括号中的内容指明一个函数指针的名称;形参表则列出了该指针所指函数的形参类型和个数。

【注意】 由于对函数指针的定义在形式上比较复杂,如果在程序中出现多个这样的定义,多次重复这样的定义会相当繁琐,一个很好的解决办法就是typedef

例如:

typedef int(*fun)(double);

这声明了fun为“有一个double形参、返回类型为int的函数的指针”类型的别名。下面,需要声明这一类型的变量时,可以直接使用:

fun funprt;

这声明了一个具有该类型的名称为funptr的函数指针。用typedef可以方便地为复杂类型起别名。

(2)函数指针的使用
函数指针在使用之前也要进行赋值,是指针指向一个已经存在的函数代码的起始地址。一般语法为:

函数指针名=函数名;

等号右边的函数名所指出的必须是一个已经声明过的、和函数指针具有相同的返回类型和相同形参表的函数。在赋值之后,就可以通过函数指针名来直接引用这个指针指向的函数。

【例】函数指针实例

void A(float)
{cout << "这是一个A函数" << endl;
}void B(float b)
{cout << "b的值为:" << b << endl;
}void C(float c)
{cout << "c的值为:" << c << endl;
}const float PI = 3.14159f;
const float TOW_PI = PI * 2.0f;int main()
{void (*fun)(float);//函数指针A(PI);fun = A;//函数指针指向Afun(PI);//函数指针调用fun = B;//函数指针指向Bfun(TOW_PI);//函数在指针调用fun(13.0);//函数指针调用fun = C;//函数指针指向CC(PI);//函数指针调用return 0;
}

运行结果:

在这里插入图片描述

上例程序中声明了一个void类型的函数指针:

void (*fun)(float);//void类型的函数指针

在主函数运行过程中,通过赋值语句使这个指针分别指向函数A,B和C,然后通过函数指针来实现对函数的调用。

http://www.yayakq.cn/news/282890/

相关文章:

  • 萍乡网站设计公司技术社区网站开发
  • 徐汇网站推广网络服务器是什么
  • 一个网站多个域名备案让他人建设网站需要提供的材料
  • 建一个网站问谁推广注册app拿佣金
  • 创建qq网站正规购物平台有哪些
  • 网站中英文转换js怎样在网站上做免费的网业
  • 企业的网站建设费账务处理住房城乡建设网站
  • 哪个网站可以做付费推广wordpress多站列表
  • .net网站做优化jsp网站开发学习心得
  • 特色美食网站建设wordpress卡蜜销售
  • 网站推广的优势wordpress modernizr
  • 公章在线制作网站做不了做钢材什么网站好
  • 网站建设 微信开发 h5开发电脑之家
  • 网站建设代码容易出错网站上的文章经常修 内容对seo有影响吗
  • 网站设计技术大全简单网页尝试做教案
  • 网站开发用什么代码php网站开发基础教程
  • 高中生自己做 网站windows+wordpress+mi
  • 泉州个人建站模板广州网站优化推广方案
  • 山西网站建设哪家有学院网站建设 好处
  • 企业网站建设方案新闻安徽省住房和城乡建设厅官网证件查询
  • 浙江建设局图审网站免费dw网页模板
  • 集翔网大网站建设莱州网站建设制作
  • 聊城网站建设动态加快实施创新驱动发展战略
  • 网站建设的关键技术娄底网站建设开发
  • 怎样在网站上做超链接wordpress中文表单生成
  • 体育网站建设的分析西安工商注册
  • 做代练的网站襄阳市住房城乡建设部网站
  • 一站式营销推广做pc端网站适配
  • 医院网站必须建设吗网络营销经典失败案例
  • 重庆规模最大的建网站公司哪个网站可以学做咸菜