当前位置: 首页 > news >正文

解码C语言关键字

一、数据类型关键字(12个)

1. 基础类型

关键字 用途 示例
char 字符类型 char c = 'A';
int 整型 int num = 10;
float 单精度浮点型 float f = 3.14f;
double 双精度浮点型 double d = 2.718;
void 无类型(函数/指针) void func();

2. 类型修饰符

关键字 用途 示例
short 短整型(如16位) short s = 100;
long 长整型(如32/64位) long l = 100000L;
signed 有符号类型(默认) signed int a = -5;
unsigned 无符号类型 unsigned int u = 42;

3. 复合类型

关键字 用途 示例
struct 定义结构体 struct Point { int x, y; };
union 定义联合体 union Data { int i; float f; };
enum 定义枚举类型 enum Color { RED, GREEN };

二、控制语句关键字(12个)

1. 条件分支

关键字 用途 示例
if 条件判断 if (x > 0) { ... }
else 条件分支的否定分支 else { ... }
switch 多路选择结构 switch (value) { ... }
case switch 中的分支标签 case 1: ... ; break;
default switch 的默认分支 default: ... ; break;

2. 循环控制

关键字 用途 示例
for 循环结构 for (int i=0; i<10; i++)
while 条件循环 while (x < 100) { ... }
do 后测试循环 do { ... } while (cond);
break 跳出循环或 switch break;
continue 跳过当前循环迭代 continue;

3. 跳转语句

关键字 用途 示例
goto 无条件跳转到标签 goto error_handler;
return 函数返回值 return 0;

三、存储类别关键字(4个)

关键字 用途 示例
auto 自动变量(默认,通常省略) auto int x = 5;(等价于 int x=5;
extern 声明外部全局变量 extern int global_var;
register 建议编译器将变量存储在寄存器(经常访问的变量) register int counter;
static 修饰局部变量:
作用:在函数内部保持变量值不变特点:只初始化一次,函数调用间保持状态
**修饰全局变量:
作用**:限制变量只在当前文件内可见
特点:避免命名冲突,实现数据封装
**修饰函数:
作用**:限制函数只在当前文件内调用
特点:隐藏实现细节,增强模块化 `void counter() {
static int
count = 0; // 只初始化一次 count++; // 每次调用值都会保持
}`

static int file_global = 100;

static void helper() { *// 只能在本文件调用// 内部实现* } |

四、类型修饰符(2个)

关键字 用途 示例
const 定义常量(不可修改) const int MAX = 100;
volatile 告知编译器变量可能被意外修改(防止变量在运行的过程中被优化而出现程序错误—面试) volatile int flag = 0;

五、其他关键字(2个)

关键字 用途 示例
sizeof 计算类型/对象所占字节数 size_t size = sizeof(int);
typedef 为类型定义别名 typedef int Length;
http://www.hskmm.com/?act=detail&tid=9637

相关文章:

  • 接龙大师微信小程序管理系统:一站式社群信息收集与活动管理解决方案
  • Windows环境中安装Zookeeper
  • YOLOv7安全评估揭示11个漏洞:RCE攻击与模型差异风险
  • ​​电流探头选型技术指南:精准捕获电流信号的艺术​​
  • 读人形机器人16本地制造的环境和经济效益
  • 详细介绍:【卷积神经网络详解与实例】10——经典CNN之GoogLeNet
  • openEuler 24.03 (LTS-SP2)安装mysql 8.4.5(glib.2.17)
  • wso2~api的高级限流策略
  • openEuler安装mysql矩阵
  • 【转载】达梦数据库物理备份与逻辑备份的区别
  • openEuler使用xtrabackup报libssl.so问题
  • jmeter中八大元件的执行顺序
  • Ubuntu 安装 JDK
  • EHOME视频平台EasyCVR视频分析设备平台监控摄像机的接入与智能视频分析
  • python+excel实现办公自动化学习 - 教程
  • 详细介绍:集成学习算法简介
  • 智投助手v0.0.4 发布
  • Kaggle的[公共数据集平台]
  • UE5 MPCook 时序图
  • P7435 简单的排列计数
  • Nexpose 8.21.0 for Linux Windows - 漏洞扫描
  • slurm启动验证命令
  • 天上的乌云不见了,但是没有下雨,那它们都去哪了呢?
  • 深入解析:多模态大模型3:TAViS
  • 基于STM32F103C8T6与DS18B20的温度测量系统
  • afx100.dll afrvidwindowmanager.dll afresu.dll afrcomputeserver.dll afckernel.dll aexplore_view. - 详解
  • UE5 增量 Cook
  • Oxygen Forensic Detective 18.0 发布,新增功能简介
  • Windows如何美化cmd窗口
  • MX Round 7 解题报告