ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【数据结构】C语言分三大类(Finish)

【数据结构】C语言分三大类(Finish) C语言语法三大类1. 预处理指令#开头预处理器处理在编译之前2. C语言语句编译器编译属于代码逻辑3. 声明 / 定义介于二者之间是C的语法单元不是语句这点很容易混淆1. 预处理指令#开头预处理器干活#include stdio.h #define PI 3.14 #ifdef DEBUG #undef PI特点- 以 # 开头- 不是C语句不需要分号除非你自己写会出bug- 在正式编译前执行纯文本替换/文件包含/条件编译2. 声明Declaration告诉编译器这个名字是什么类型不一定要分配内存typedef int bool; // 类型声明 int a; // 变量声明 extern int b; // 外部变量声明 struct Point; // 结构体前置声明 //声明末尾要分号 //声明不是语句语句是用来执行动作的赋值、循环、判断声明只是告诉编译器类型信息。3. 定义Definition分配内存/实体是声明的一种特例int a 10; // 变量定义 struct Point{int x;};// 结构体定义4. C语句Statement执行操作a 10; // 表达式语句 if(a5){} // if语句 for(;;){} // for循环 return 0; // return语句特点执行动作以分号结尾复合语句 {} 不用分号分类总结1. 预处理指令 #include #define #ifdef → 预处理器处理2. 声明/定义 typedef 、 int a; 、 struct{...}; → 编译器识别类型不是语句3. 语句 if for return 赋值 → 程序运行时执行补充typedef 、 int a; 属于声明不是语句#define 、 #include 属于预处理指令if(){}; 、 for(); 、 a1; 才是语句。typedef int bool; // ✅ 这是【类型声明】不是语句但是要加;#define true 1 // ✅ 预处理指令不加;还有注释 // /* */ 属于文本不属于上面任何一类编译前直接删掉。
返回列表