C语言中的局部静态只读变量与函数使用解析
需积分: 34 92 浏览量
更新于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 上传
2023-04-03 上传
2023-05-23 上传
2023-06-08 上传
2023-05-20 上传
2023-09-25 上传
2024-09-27 上传
eo
- 粉丝: 32
- 资源: 2万+
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南