C概念集锦.doc_第1页
C概念集锦.doc_第2页
C概念集锦.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、实参与形参形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。1. 形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。 2. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 3. 实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。 4. 函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。二、内联函数1. 作用:消除函数调用时的时间开销1. 牺牲空间来换取时间2. 使用条件:l 函数规模小(15行),频繁调用l 不能含循环结构或switch结构l 不能含有任何静态数据或数组声明l 不能是递归函数3. 特性:l 源代码:拥有函数结构l 编译时:用函数体替换调用处函数名(类似宏替换)l 编译后:不具备函数性质4. 声明形式:inline void func().5. 注意事项:l 内联函数的定义必须出现在内联函数第一次被调用之前。l 最终能否内联,由编译器决定。inline只是声明或建议,如果编译器认为不适合,将会放弃内联,视为普通函数来处理。三、while(1) 什么意思, while(i-)什么意思?u while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。u 那么while(1)其中1代表一个常量表达式,他永远不会等于0。所以,循环会一直执行下去。除非你设置break等类似的跳出循环语句循环才会中止u while(i-)其中i是一个变量,因此表达式i-有不同的值,依次递减,i-是先取值后减,-i先加后取值,所以i-的值同未执行该自减运算时的i相等。因此当i为0时,循环会跳出u 很容易混淆的是把i-的值误认为i执行自减后的值,可以编个小程序验证下u #includeu #includeu using namespace std;u int main()u n int i=1;n while(i-)/此时i=0n l i-;/执行该语句i为-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论