C语言基础:数据类型、预处理器、Typedef与静态特性详解

需积分: 9 0 下载量 177 浏览量 更新于2024-09-08 收藏 25KB DOCX 举报
本篇C语言学习笔记主要探讨了数据类型、预处理器、宏定义、typedef、数据声明、static和const等关键概念。 1. **数据类型**: C语言中的数据类型定义了变量在内存中占用的固定大小,常见的类型如char (1字节),short (2字节),int (4字节),long (4字节),float (4字节)和double (8字节)。这些数据类型用于创建变量,它们决定了变量能存储的数据范围和内存分配。 2. **预处理器**: 预处理器在编译阶段对代码进行简单的文本替换。例如,`#define`用来声明常量,如`SECONDS_PER_YEAR`,它被定义为60*60*24*365秒,其中`UL`表示无符号长整型。宏`MIN(A,B)`用于返回两个参数中的较小值,需要注意括号的使用以确保参数正确匹配。 3. **Typedef**: typedef是C语言中的一个特性,它允许重新命名已存在的数据类型,如将`char*`重命名为`tPS`。使用typedef可以简化代码,并提供类型别名,但不能进行类型扩展,如unsigned到signed的转换。 4. **数据声明与数组**: 数据声明展示了多种声明方式,包括基本类型(如`inta;`),指针(如`int*a;`和`int**a;`),数组(如数组和指向数组的指针)以及函数指针。 5. **Static关键字**: - 静态局部变量:函数内部声明为static的变量在每次函数调用时都保留其值。 - 静态全局变量:在函数外部声明为static的变量仅在当前模块内可见,其他模块无法访问。 - 静态局部函数:仅在定义它的模块内部可见并调用。 6. **Const关键字**: const关键字用于声明常量,表示变量的值在程序运行期间不能被修改。常量可以是基本类型或复合类型,如`int a const;`或`const int (*a)[10](int);`,表明a是一个指向数组的指针,数组中的元素是不可更改的整数。 通过这些知识点的学习,C语言程序员能够更好地理解变量的存储机制、控制变量的作用域和生命周期,以及如何有效地利用预处理器、typedef和const来增强代码的可读性和灵活性。