1. volatile 关键字有什么作用?它能保证线程安全吗?答案:volatile 的作用是告诉编译器,这个变量的值可能会被外部因素修改,因此每次使用都要直接从内存中读取,而不是从寄存器或缓存中取值。它常用于:中断与主循环共享变量多线程共享标志位硬件寄存器映射但 volatile不能保证线程安全,因为它只能保证“可见性”,不能保证“原子性”。如果是复合操作,比如 count++,仍然可能发生竞争问题。2. const 和 #define 的区别是什么?答案:const 是有类型的常量,编译器会做类型检查,调试时也更容易定位。#define 是预处理宏,本质上是文本替换,没有类型信息。主要区别...