“传值和传址调用”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) (→1)数据类型) |
||
第6行: | 第6行: | ||
* 数据值是否改变 | * 数据值是否改变 | ||
** 常量:只有右值,值不能改变 | ** 常量:只有右值,值不能改变 | ||
+ | *** 字符 'a' | ||
+ | *** 字符串 "a" | ||
+ | *** 整型 1、2 | ||
** 变量:有左值和右值,值可改变 | ** 变量:有左值和右值,值可改变 | ||
* 作用域 | * 作用域 | ||
第17行: | 第20行: | ||
** 指针类型(type*) | ** 指针类型(type*) | ||
** 抽象数据类型(类类型) | ** 抽象数据类型(类类型) | ||
+ | |||
+ | |||
+ | === 2)传值和传址调用 === | ||
+ | [[文件:传值和传址调用.png|无|缩略图|600x600像素]] | ||
+ | {| class="wikitable" | ||
+ | !传递方式 | ||
+ | !主要特点 | ||
+ | |- | ||
+ | |传值调用 | ||
+ | |形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变 | ||
+ | |- | ||
+ | |引用(地址)调用 | ||
+ | |形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。 | ||
+ | |||
+ | |||
+ | 参数的左值为地址,右值为具体的值。 | ||
+ | |} |
2022年9月15日 (四) 01:44的版本
https://www.bilibili.com/video/BV1hg411V7Bm?p=47
1)数据类型
数据类型
- 数据值是否改变
- 常量:只有右值,值不能改变
- 字符 'a'
- 字符串 "a"
- 整型 1、2
- 变量:有左值和右值,值可改变
- 常量:只有右值,值不能改变
- 作用域
- 全局变量:存储空间一般不变
- 局部变量:存储空间动态变化
- 数据类型
- 基本类型(int/char/float double/bool)
- 特殊类型(void)
- 用户定义类型(enum)
- 构造类型(数组、结构、联合)
- 指针类型(type*)
- 抽象数据类型(类类型)
2)传值和传址调用
传递方式 | 主要特点 |
---|---|
传值调用 | 形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变 |
引用(地址)调用 | 形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。
|