《C Prime Plus》第九节笔记
2024-08-31 15:15:35
第九节 函数
9.1 复习函数
- 函数原型 function prototype
- 函数调用 function call
- 函数定义 function definition
- 形参 实参
- 典型的ANSI C函数的定义:
返回类型 名称(形参声明列表)
9.2 ANSI C函数原型
- 主调函数把它的参数储存在被称为栈(stack)的临时储存区
- 错误导致无法编译,而警告仍然允许编译
9.3 递归
- printf使用%p打印地址
- 递归的优缺点
1.优点是递归为某些编程问题提供了最简单的解决方案
2.缺点是递归算法会快速消耗计算机的内存资源
9.4 编译多源代码文件的程序
- scanf("%*s")跳至下一个空白字符
9.5 查找地址:&运算符
- 一元运算符&给出变量的存储地址
- PC地址通常用十六进制形式表示,每个十六进制对应四位
- %p是输出地址的转换说明
9.6 更改主调函数中的变量
- 典型例子:用函数交换两个值
9.7 指针简介
- 指针(pointer)是一个值为内存地址的变量(或数据对象)
9.7.1 简介运算符 *
- 使用间接运算符(indirection operator)找出内存地址所对应的值,又是也称为解引用运算符(dereferencing operator)
9.7.2 声明指针
- 指针是一个新类型,需要声明指针所指变量的类型
int * pi;
char * pc;
float * pf,* pg;
9.7.3 使用指针在函数间通信
- 函数无法直接访问其他函数中的变量,这种限制访问保护了数据的完整性。但是,当确实需要在函数中访问另一个函数的数据时,可以把指针作为函数的参数。
- 如果需要在被调函数中修改主调函数的变量,使用地址或指针作为参数。
最新文章
- 【BZOJ-2669】局部极小值 状压DP + 容斥原理
- cookie的实例
- EF性能调优
- 做最好的日期控件,My97 DatePicker 4.8 Beta4
- django admin site配置(二)
- quartus ii 中文注释乱码解决办法
- 1257: [CQOI2007]余数之和sum - BZOJ
- 0到N数其中三个数的全排列
- Intellij IDEA 使用Debug模式运行非常慢
- Flask学习记录之Flask-WTF
- jquery $.post 返回json数据
- Android之Handler的postDelayed()使用方法
- SVN Upgrade working copy
- 【译】10个机器学习的JavaScript示例
- TCP/IP协议栈 --- 网络层(IP 首部 和分片)
- 书籍--嵌入式Linux驱动开发
- maven clean或package报错
- javaIO流
- struts中的dojo控件sx:submit布局问题
- SQL Server在本地计算机上用SSMS(SQL Server Management Studio)登录不上,错误消息:(Microsoft SQL Server, Error: 18456)