c语言调试时为什么闪退
缺少volatile修饰符。C语言中volatile修饰符不常用,它的作用是明确该变量是变化的,防止编译器对该变量进行优化,让处理器在运行时每次都从内存中读取数据,而不是用寄存器中的备份数据。
此修饰命令建议仅对全局有重要作用的关键变量使用
c语言int变量定义规则
在C语言中,变量的命名是有明确规则的:
1、只能由字母、数字、下划线组成;
2、第一个字符必须是英文字母;
3、有效长度为255个字符;
4、不可以包含标点符号和类型说明符(%、&、!、#、@、$);
5、不可以是关键词。
关键词:
由ANSI标准定义的C语言关键字共32个:auto、 double、 int、 struct、 break 、else、 long、 switch、case、 enum、 register 、typedef、 char 、extern 、return、 union 、const、 float 、short、 unsigned、 continue、 for、 signed 、void、default 、goto、 sizeof 、volatile、 do 、if 、while、 static。
这32个关键字就是已经被C语言本身使用,不能作为其他用途使用,比如不能定义成变量名、函数名。
例:
正确的变量命名:
int nName = 11;
int i_Age = 18;
错误的变量命名:
int 1Name = 0; 不能以数字开头!只能是字母、数字、下划线组成。
int case = 12; 不能以关键字作为变量名!只能是字母、数字、下划线组成。
int %age = 13; 不能用标点符号!只能是字母、数字、下划线组成。
int name age = 12; 不能用空格!只能是字母、数字、下划线组成。
c语言八个关键词
C语言有32个关键词,不是8个。
auto :声明自动变量
short :声明短整型变量或函数
int: 声明整型变量或函数
long :声明长整型变量或函数
float:声明浮点型变量或函数
double :声明双精度变量或函数
char :声明字符型变量或函数
struct:声明结构体变量或函数
union:声明共用数据类型
enum :声明枚举类型
typedef:用以给数据类型取别名
const :声明只读变量
unsigned:声明无符号类型变量或函数
signed:声明有符号类型变量或函数
extern:声明变量是在其他文件正声明
register:声明寄存器变量
static :声明静态变量
volatile:说明变量在程序执行中可被隐含地改变
void :声明函数无返回值或无参数,声明无类型指针
if:条件语句
else :条件语句否定分支(与 if 连用)
switch :用于开关语句 case:开关语句分支
for:一种循环语句
do :循环语句的循环体
while :循环语句的循环条件
goto:无条件跳转语句
continue:结束当前循环,开始下一轮循环
break:跳出当前循环
default:开关语句中的“其他”分支
sizeof:计算数据类型长度
return :子程序返回语句(可以带参数,也可不带参数)

