试题详情
- 简答题结构体数据作为参数在函数间传递有哪几种方式?请指出它们的异同点。
-
结构体作为参数在函数之间进行传递主要有下列三种方式:
复制传递方式:把调用函数中结构体实参的值复制给被调用函数的形参构体。
地址传递方式:将调用函数中实参结构体的地址传递给被调用函数形参的结构体指针。
引用方式:被调用函数的形参应该说明为引用结构体变量形式。实际上,它是为实参结构化起一个别名。
另外,还可以通过全局变量的方式在函数间进行数据传递,但这种方式不好,增加函数之间的耦合性。
地址传递方式要比复制方式效率高。结构体复制传递方式需要对实参做一个备份,它把一个结构体变量作为参数传递,但要将结构体全部成员值一个一个传递,费时间又费空间,开销大。如果结构体的成员较多,则程序运行效率会大大降低,而采用地址传递方式将结构体变量的地址作为函数参数比较好,能提高运行效率。复制传递方式不影响调用函数实参的数值,而地址传递方式有可能影响实参的数值。 关注下方微信公众号,在线模考后查看
热门试题
- 一个类的成员函数也可以成为另一个类的友元
- 采用inline定义内联函数时,在对于函
- 输入两个正整数m和n 求其最大公约数和最
- 变量有哪几种存储类型?
- 什么叫做友元类?
- 简述函数之间数据传递的四种形式。
- 当将一个类A或函数f()说明为另一个类B
- 从键盘上输入若干学生的一门课成绩,存入一
- 如何声明内置函数?
- 在函数中声明的静态变量()
- cin是()的一个对象,处理标准输入;c
- 编程定义一个整型(ival)及指针(*i
- 利用选择法将10个数按降序排列。 注意:
- 下面是面向对象程序设计的特点,而()不是
- 写一个函数,将以秒为单位输入的一个时间值
- 构造函数和析构函数的作用是什么?
- 使用打开文件函数open()之前,需要定
- 在多重循环中,内重循环的循环变量引用的次
- 数组在函数间传递形式有哪些?
- 简述结构体指针对象说明的一般形式。