C语言中#define、static、auto和extern的定义与用法
5星 · 超过95%的资源 需积分: 15 114 浏览量
更新于2024-09-16
收藏 30KB DOC 举报
"C语言宏定义、静态变量与自动变量的使用"
在C语言中,`#define`宏定义是一种预处理指令,它用于创建符号常量或者简单的代码替换。在给定的【标题】和【描述】中,我们看到一个使用`#define`的例子,其中定义了两个布尔值TRUE和FALSE以及一个宏SQ用来计算平方。
```c
#define TRUE 1
#define FALSE 0
#define SQ(x) (x)*(x)
```
TRUE和FALSE是宏定义的整型常量,分别代表1和0,这在编写条件语句时非常有用,提供了更易读的代码。SQ(x)则是一个计算平方的宏,接受一个参数x,返回x的平方值。在main函数中,SQ(num)被用于计算用户输入的数字的平方。
接下来,我们看看【部分内容】中关于静态变量(static)和自动变量(auto)的用法。
【程序41】展示了静态变量static_var如何保持其值在函数调用之间。每次调用varfunc(),static_var的值都会增加,而普通变量var在每次调用时都会被重置为0。
```c
static int static_var=0;
```
这里,static_var是静态变量,它的生命周期贯穿整个程序,值会在每次函数调用中保留。
【程序42】和【程序43】探讨了自动变量auto的作用。在C语言中,局部变量默认就是auto类型,它们的生命周期仅限于定义它们的代码块。在【程序42】中,内部的自动变量num只在它所在的花括号内有效,每次循环迭代时都会被重新初始化为1。
```c
{
auto int num=1;
}
```
而在【程序43】中,内部的静态变量num,尽管也在花括号内定义,但它的值在每次循环中都会保留,从而呈现出不同的行为。
```c
{
static int num=1;
}
```
最后,【程序44】涉及的是外部链接(external),这通常用于声明全局变量或函数。外部变量可以在程序的不同源文件之间共享。由于这部分内容不完整,没有给出具体代码,但通常外部变量是通过不加任何存储类别修饰符(如static或auto)来声明的,并且在所有函数外部定义。
总结来说,这些程序实例展示了C语言中`#define`宏定义、静态变量static和自动变量auto的不同用法。宏定义提供了代码替换功能,静态变量在函数调用间保持其值,而自动变量在每次进入其作用域时重新初始化。理解这些概念对于编写高效、可靠的C程序至关重要。
2022-04-30 上传
点击了解资源详情
2021-01-21 上传
2012-09-26 上传
2021-06-07 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
racoonlove06
- 粉丝: 1
- 资源: 41
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析