c语言中的主要知识点
一、基础语法与结构
程序结构
包含顺序结构、选择结构(if/switch)、循环结构(for/while/do-while)。
程序必须包含且仅有一个main函数作为入口。
数据类型与变量
基本类型:整型(int、long)、浮点型(float、double)、字符型(char)。
构造类型:数组(需注意初始化规则)、结构体、共用体。
常量与变量:常量需通过const或#define定义;变量需先定义后使用,区分全局变量(作用域整个程序)和局部变量(作用域限于代码块)。
运算符与表达式
算术运算符(注意整数除法)、关系运算符、逻辑运算符(如&&、||)、位运算符(如&、|、<<)。
自增/自减运算符(++、–)的前后位置对运算结果的影响。
二、函数与模块化编程
函数定义与调用
函数需声明返回类型和参数,支持形参与实参的传递(值传递和指针传递)。
递归函数需注意终止条件。
作用域与存储类别
局部变量(auto)、静态变量(static)、寄存器变量(register)的作用域与生命周期。
三、指针与内存管理
指针基础
指针变量定义(如int p),操作符&(取地址)和(解引用)。
指针与数组的关系:数组名是首元素地址,指针可遍历数组。
动态内存分配
使用malloc、calloc分配堆内存,free释放内存,避免内存泄漏。
四、高级特性
预处理指令
#define定义宏(注意无分号),#include包含头文件,#ifdef条件编译。
文件操作
文件指针(FILE *),常用函数如fopen、fclose、fread、fwrite。
结构体与联合体
结构体用于组合不同类型数据,联合体共享内存空间。
五、常见错误与规范
典型错误
混淆=与==、忘记&符(如scanf)、数组越界、未初始化指针。
分号使用错误(如宏定义后加分号)、大小写敏感问题(如main与Main)。
编码规范
使用缩进(如K&R风格)、合理注释、避免魔数(用常量替代)。