C语言中的局部静态只读变量与函数使用解析
需积分: 34 18 浏览量
更新于2024-07-13
收藏 112KB PPT 举报
局部静态只读变量在C语言中是一个重要的概念,特别是在嵌入式系统开发中。这种变量由`static`和`const`两个关键字修饰。`static`关键字使得变量在函数调用结束后仍然保持其值,不会被重新初始化。而`const`关键字则表明该变量是只读的,一旦赋值后就不能修改。在嵌入式环境中,这样的变量会被编译器优化存储到非易失性的Flash存储器中,而不是消耗有限的RAM资源。在提供的代码示例中,`ChessManDisp`函数中的`Name`数组就是一个局部静态只读变量,用于存储棋子名称。
C程序设计实践中,函数是核心组成部分。函数定义包括返回类型、函数名以及参数列表。例如,`add`函数定义了一个计算两数之和的函数。函数声明通常在函数使用之前进行,以便编译器知道函数的存在和参数类型。如果函数在其他C文件中定义,需要使用`extern`关键字进行声明。在模块化编程中,头文件(.h)常用来包含函数声明,实现文件(.c)则包含函数的定义。
函数调用有多种方式,可以是直接调用,如`iSum=add(123,98);`,也可以作为其他函数的参数,如`printf("Sum=%d\n",add(789,-56));`。函数参数传递遵循值传递原则,这意味着函数内部对形参的修改不会影响实参的值。在`swap`函数的例子中,由于值传递,形参的改变并不会影响到实参,导致无法实现交换。为了解决这个问题,我们需要使用指针,让函数通过指针来间接修改实参的值。如修正后的`swap`函数所示,通过接收指向`int`的指针`*x`和`*y`,函数可以正确地交换两个变量的值。
总结知识点:
1. 局部静态只读变量:由`static const`修饰,存储在Flash,节省RAM资源。
2. 函数定义与声明:定义包含函数体,声明只告诉编译器函数存在及参数类型。
3. `extern`关键字:用于声明外部函数,确保编译器知道函数的定义在其他文件中。
4. 接口与实现分离:头文件包含函数声明,实现文件包含函数定义。
5. 函数调用:直接调用和作为参数传递。
6. 值传递原则:函数参数的修改不会影响实参的值。
7. 指针参数:通过指针实现对实参的修改,解决值传递问题。
2018-06-20 上传
2018-07-18 上传
2010-01-07 上传
2021-07-14 上传
2020-08-03 上传
2012-09-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
eo
- 粉丝: 33
- 资源: 2万+
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案