C语言变量属性解析:数据类型与存储类别

需积分: 34 1 下载量 174 浏览量 更新于2024-07-14 收藏 2.2MB PPT 举报
"C语言变量的两个属性-孙老师C语言" C语言是计算机编程领域中的一种高级编程语言,由丹尼斯·里奇于1972年至1973年间在贝尔实验室开发。C语言以其高效、灵活和可移植性而闻名,广泛应用于系统软件、应用软件、嵌入式系统等领域。它的特点包括丰富的数据类型、直接的内存访问、多种控制语句以及高效的程序执行。 变量是C语言中存储数据的基本单元,它有两个主要属性: 1. 数据类型:这是C语言中变量的基础属性,用来定义变量可以存储的数据种类。C语言支持多种数据类型,如: - 整型(int):用于存储整数值,如123、-45。 - 浮点型(float):用于存储带有小数的数值,如3.14、-0.5。 - 字符型(char):用于存储单个字符,如'a'、'9'。 - 还包括数组类型、指针类型、结构体类型、共用体类型等复杂数据类型。 2. 存储类别:这是变量的另一个重要属性,决定变量在内存中的分配方式和生命周期。 - auto(自动存储):默认情况下,函数内部声明的变量为自动变量,它们在函数调用时分配内存,在函数执行完毕后自动释放。例如: ```c int f(int a) { auto int b, c = 3; // ... } ``` 在这个例子中,`b`和`c`是自动变量,它们的生命周期仅限于`f`函数的执行期间。 - static(静态存储):静态变量在整个程序运行期间只被初始化一次,即使函数执行结束,它们的值也会被保留。例如: ```c int f(int a) { static int count = 0; count++; return count; } ``` 在这里,`count`是静态变量,每次调用`f`,它的值都会递增,不会重置。 - register(寄存器存储):尝试将变量存储在CPU的寄存器中以提高速度,但实际是否能分配到寄存器取决于系统资源。如果无法分配,它会退化为自动存储。 ```c int f(int a) { register int x; // ... } ``` - extern(外部存储):用于声明在其他文件中定义的变量,使得多个文件之间可以共享同一变量。 ```c // file1.c extern int global_var; // file2.c int global_var = 100; ``` C语言程序设计通常包括预处理、编译、链接和执行四个步骤。预处理处理宏定义、条件编译等;编译阶段将源代码转换成中间的汇编代码;链接阶段将各个编译后的模块组合成可执行文件;最后,执行文件在计算机上运行。 在C语言中,可以通过像TurboC或VisualC++这样的编译系统来编写、编译、链接和运行C程序。例如,使用VisualC++创建控制台应用程序工程,编写源代码,然后通过IDE进行编译、链接和调试,直到程序达到预期效果。 总结来说,理解C语言变量的属性,特别是数据类型和存储类别,对于编写高效、正确的C程序至关重要。同时,掌握C语言的基本语法和流程控制,如函数、变量声明、运算符和控制结构,以及如何在不同环境下编译和运行程序,是成为熟练C程序员的基础。