谭浩强C程序设计课件第6章教学教材.pptVIP

  • 1
  • 0
  • 约2.44万字
  • 约 100页
  • 2019-11-29 发布于天津
  • 举报
swap(i,j); cout″i=″i″ ″″j=″jendl; return 0; } void swap(int a,int b) //形参是引用类型 { int temp; temp=a; a=b; b=temp; } 输出结果为 i=5 j=3 在swap函数的形参表列中声明a和b 是整型变量的引用。 图6.29 实际上,在虚实结合时是把实参i的地址传到形参a,使形参a的地址取实参i的地址,从而使a和i共享同一单元。同样,将实参j的地址传到形参b,使形参b的地址取实参j的地址,从而使b和j共享同一单元。这就是地址传递方式。为便于理解,可以通俗地说: 把变量i的名字传给引用变量a,使a成为i的别名。 请思考: 这种传递方式和使用指针变量作形参时有何不同?分析例6.20(对比例6.19),可以发现: ① 使用引用类型就不必在swap函数中声明形参是指针变量。指针变量要另外开辟内存单元,其内容是地址。而引用变量不是一个独立的变量,不单独占内存单元,在例6.20中引用变量a和b的值的数据类型与实参相同,都是整型。 ② 在main函数中调用swap函数时,实参不必用变量的地址(在变量名的前面加),而直接用变量名。系统向形参传送的是实参的地址而不是实参的值。 这种传递方式相当于Pascal语言中的“变量形参”,显然,这种用法比使用指针变量简单、直

文档评论(0)

1亿VIP精品文档

相关文档