C 语言常用语法速查表

把 C 语言日常开发最常用的语法整理成速查,写系统代码时对照查。

编程语言·共 58 条命令·最后更新 2026-07-19
返回 编程语言

数据类型与变量 8

int x = 10;
整型变量
float pi = 3.14f;
单精度浮点
double e = 2.718;
双精度浮点
char c = 'A';
字符变量
char str[] = "Hello";
字符串(字符数组)
const int MAX = 100;
常量
enum {RED, GREEN, BLUE};
枚举类型
typedef int Integer;
类型别名

控制流 8

if (x > 0) { } else if (x < 0) { } else { }
条件分支
switch (x) { case 1: break; default: break; }
多路分支
for (int i = 0; i < n; i++) { }
for 循环
while (condition) { }
while 循环
do { } while (condition);
do-while 循环
break;
跳出循环/switch
continue;
跳过本次循环
goto label;
跳转(慎用)

指针与数组 8

int *p;
指针声明
int x = 10; int *p = &x;
取地址
*p = 20;
解引用
int arr[5] = {1, 2, 3, 4, 5};
数组初始化
int *p = arr;
数组名即首地址
*(p + i)
指针算术(等价 arr[i])
int **pp;
二级指针
void *vp;
通用指针

函数 6

int add(int a, int b) { return a + b; }
函数定义
void swap(int *a, int *b);
函数声明(原型)
int (*fp)(int, int) = add;
函数指针
static int count = 0;
静态局部变量
extern int globalVar;
外部变量声明
inline int square(int x) { return x * x; }
内联函数

内存管理 7

int *p = (int *)malloc(sizeof(int) * 10);
动态分配内存
int *p = (int *)calloc(10, sizeof(int));
分配并初始化为 0
p = (int *)realloc(p, sizeof(int) * 20);
重新分配内存
free(p);
释放内存
memset(p, 0, size);
内存初始化
memcpy(dest, src, size);
内存拷贝
memmove(dest, src, size);
安全内存拷贝(可重叠)

结构体与联合体 6

struct Point { int x; int y; };
结构体定义
struct Point p = {1, 2};
结构体初始化
p.x = 10;
访问成员
struct Point *pp = &p; pp->x = 10;
指针访问成员
union Data { int i; float f; };
联合体(共享内存)
typedef struct { int x; int y; } Point;
结构体别名

文件操作 8

FILE *fp = fopen("file.txt", "r");
打开文件(r/w/a/rb/wb)
fclose(fp);
关闭文件
fscanf(fp, "%d", &x);
格式化读取
fprintf(fp, "%d\n", x);
格式化写入
fread(buf, size, count, fp);
二进制读取
fwrite(buf, size, count, fp);
二进制写入
fgets(buf, size, fp);
读取一行
fseek(fp, offset, SEEK_SET);
文件定位

预处理器 7

#include <stdio.h>
包含系统头文件
#include "myheader.h"
包含自定义头文件
#define MAX 100
宏定义
#define SQUARE(x) ((x) * (x))
宏函数
#ifdef DEBUG ... #endif
条件编译
#ifndef HEADER_H ... #define HEADER_H ... #endif
头文件保护
#pragma once
现代头文件保护

💡 提示

  • malloc 分配后务必检查返回值是否为 NULL。
  • free 后建议将指针置为 NULL,避免野指针。
  • 数组名在大多数表达式中会退化为指针,但 sizeof(arr) 仍是整个数组大小。