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

建立本地网站智慧团建网站怎么转团关系

建立本地网站,智慧团建网站怎么转团关系,点餐小程序开发需要多少钱,明星网站开发项目介绍文章目录 一、内存分区二、引用三、函数的高级应用1.默认参数2.占位参数3.函数重载 一、内存分区 C程序在执行时#xff0c;会将内存大致分为4个区#xff0c;分别是代码区、全局区、栈区和堆区。 代码区用来存放函数体和二进制代码#xff0c;由操作系统进行管理。 全局区… 文章目录 一、内存分区二、引用三、函数的高级应用1.默认参数2.占位参数3.函数重载 一、内存分区 C程序在执行时会将内存大致分为4个区分别是代码区、全局区、栈区和堆区。 代码区用来存放函数体和二进制代码由操作系统进行管理。 全局区用来存放全局变量、静态变量、字符串常量以及全局常量(const修饰的变量)。 栈区是由编译器自动分配和释放用来存放函数的参数值、局部变量等。 堆区由程序员分配和释放如果程序员分配了内存但没释放程序结束时由操作系统回收但是这种情况下有可能造成内存泄露。 内存分区可以使数据存放在不同的区域并赋予其不同的生命周期可以使得编程更加灵活。 程序编译后生成了可执行程序未执行程序之前分为两个区域代码区和全局区。代码区存放CPU执行的机器指令代码区是共享的共享的目的是对于频繁被执行的程序只需要在内存中有一份代码即可代码区是只读的防止程序意外的被修改。全局区在程序结束后由操作系统释放。 由下图可以看到全局变量的地址比局部变量的地址低。这是因为全局变量存放在全局区局部变量存放在栈区。 注意局部常量和全局常量存放的位置是不一样的局部常量仍然存放在栈区而全局常量存放在全局区。 在栈区中需要注意不要返回局部变量的地址 因为局部变量存放在栈区栈区的数据在函数执行完以后自动释放。 下面的例子可以看到函数返回了局部变量的地址在main函数中进行了接收第一次解引用得到了正确的值是因为编译器做了保留第二次打印数据就不再保留了对返回的局部变量的地址操作是非法的。 对数组而言也是一样的不能返回数组地址进行读写操作。 如果将局部变量变为静态变量那么即使函数返回后数据依然可以访问因为变量的存放区域不再是栈区而是全局区。 在C中利用关键字new在堆区开辟内存并以指针接收内存。 new什么类型的数据就以什么类型的指针接收其地址括号里面的值是给堆区开辟的内存初始化数值。程序员不释放堆区中的数据一直存放到程序运行结束。 释放new开辟的内存使用关键字delete。 在堆区中开辟数组要用中括号释放的时候要先在delete后加[]再加指针释放释放单个数据的时候直接在delete后加指针即可。 二、引用 引用的作用是给变量起别名。引用必须初始化且初始化以后不可以改变。 语法数据类型 别名 原名; 引用的本质在C内部实现是一个指针常量指针的指向不可修改但是指针指向的值可以修改。 int a 10; int b a; //相当于 int* const b a;C 推荐引用技术语法方便其涉及的指针操作都由编译器做了。 在给变量起别名的时候数据类型要与原变量一致。 引用可以作为函数参数传递其效果和指针一样例如下面交换两个数的例子。 通过引用参数产生的效果同按地址传递时一样的引用的语法更加清楚简单。 引用归根结底还是对地址的操作下面是传递参数的三种不同方式。 指针方式是地址传递因此在主函数和函数体中的变量地址是一样的。 引用也是地址传递主函数和函数体中的变量地址一样。 值传递则与上面两种不一样变量在主函数中的地址和函数体中的地址是不一样的这也是为什么经过函数交换后实际的变量值没有发生交换因为函数中操作的地址是在栈中另外开辟的。 引用可以作为函数的返回值但是不要返回局部变量的引用 返回局部变量的引用和返回局部变量的地址是一样的函数返回后内存会被释放掉再对该内存操作就是非法的下面的打印第一次虽然是对的但只是临时保存的。 函数的返回值是引用函数调用可以作为左值 函数调用作为左值相当于给返回的引用进行赋值操作例子如下。 常量引用主要用来修饰形参防止误操作改动实参数值。 int a 10; int b a; //合法int a 10; int b 10; //不合法int a 10; const int b 10; //合法 相当于 int temp 10; int b temp;前面提到引用其实是一个指针常量因此当其作为函数形参传递的时候如果在函数体中修改了形参实参也会跟着变动有时候为了防止函数中修改形参要在引用前加上const。 可以看到如果引用作为参数的时候在函数内部修改了引用的值调用函数后实参的值也跟着改变了。 在形参前面加上const后如果函数体内部试图修改引用的值编译器就直接报错了 三、函数的高级应用 1.默认参数 可以给函数的形参设置默认值在传实参的时候没有传实参就使用默认参数传了实参就覆盖掉默认参数值。 需要注意的是如果函数参数中某个位置已经有了默认参数那么从这个位置往后都必须有默认值。比如一个函数带三个参数如果第二个参数设置了默认值那么第三个参数也必须有默认值。 如果函数的参数中只有一个默认参数那么这个参数就必须放在函数的最后一个位置。 如果函数声明有默认参数函数实现就不能有默认参数或者函数实现有默认参数函数声明就不能有默认参数。总之两个中至多有一个有默认参数否则会发生重复定义默认参数错误。 这样定义很容易理解比如某个参数在函数声明的时候给定的默认值为10函数实现的时候给了20这个时候就出现了二义性编译器不知道按照哪个默认参数来执行了。 //可以 int fun(int a,int b20,int c30); int fun(int a,int b,int c) {return abc; } //可以 int fun(int a,int b,int c); int fun(int a,int b20,int c30) {return abc; } //即使参数的默认值相同函数声明和函数实现也不可以同时有 int fun(int a,int b20,int c30); int fun(int a,int b20,int c30) {return abc; }2.占位参数 函数占位参数C中函数的列表里可以有占位参数用来做占位调用函数时必须填补该位置。 函数中占位参数只声明变量类型而不给形参变量。占位参数也可以有默认参数。 void fun(int a,int) //第二个int就是占位参数 { ... } fun(10,20); //函数调用void fun(int a,int 10) //给占位参数设置默认值 { ... } fun(10); //函数调用 fun(10,20); 3.函数重载 函数重载函数名可以相同提高复用性。 函数重载需满足的条件同一个作用于下(全局)函数名相同函数参数类型不同、或函数参数个数不同、或函数参数的顺序不同。 需要注意的是函数的返回值不可以作为函数重载的条件。 下面的代码就是函数重载的例子。 #include iostream using namespace std;void fun() {coutfun()endl; }//以下两个函数参数个数相同但参数类型不同 void fun(int a) {coutfun(int a)endl; }void fun(double a) {coutfun(double a)endl; }//以下两个函数参数个数相同但参数顺序不同 void fun(int a,double b) {coutfun(int a,double b)endl; }void fun(double a,int b) {coutfun(double a,int b)endl; }int main() {fun();fun(10);fun(10.0);fun(10,10.0);fun(10.0,10);system(pause);return 0; }上面程序运行后的结果如下图所示。 仅靠函数类型不同是无法完成函数重载的像下面这样。 void fun() {coutfun()endl; }int fun() {coutfun()endl; }但是函数类型结合参数类型、参数个数、参数顺序可以实现函数重载。 引用作为函数参数重载时需要注意参数类型前加const和不加const是可以重载成功的。 当函数参数类型前加了const后函数调用的时候就需要传入常量值。 函数重载中应尽量避免默认参数的使用如下面的函数重载例子如果给默认参数的位置传入实参则代码不会出错而只传入一个值的时候函数调用就会出现二义性编译器不知道应该调用哪个函数了。 void fun(int a) {coutfun(int a)endl; }void fun(int a,int b 10) {coutfun(int a,int b 10)endl; }fun(10,20); //合法 fun(10); //不合法函数调用出现了二义性本文参考视频 黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难
http://www.pierceye.com/news/183825/

相关文章:

  • 八年级微机网站怎么做wordpress 链接转换
  • ppt做的模板下载网站有哪些内容wordpress 4.5.3中
  • 网站开发需求文档prd模板iis wordpress 404
  • 灰色链网站建设偃师建网站那家公司好
  • 文化网站前置审批网站运营系统
  • 现在做网站用什么学校网站的建设需求
  • 网页制作与网站建设技术大全 pdfhtml5移动端网站开发教程
  • 做任务可以给钱的网站php响应式网站模板下载
  • 平面素材设计网站东莞房价2023年最新房价走势
  • 做一个网站建设需要多少钱天津企业网站排名优化
  • 有关网站开发的论文网站建设哪公司
  • wordpress网站500导航 网站 分析
  • 软件网站开发市场前景试论述网上商城的推广技巧
  • 海洋生态文明建设的网站名廊坊网站建设电话
  • 做外贸在哪个网站比较好视频网站搭建源码
  • 网站代码优化视频教程动画制作专业大学排名
  • 安阳网站推广优化网站导航条背景图片
  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案