PX-16-变量的定义和初始化
1.变量的定义
标识符:标识作用!
定义:程序中用于标识 -常量、-变量、-函数的字符序列
组成:
只能由字母、数字、下划线组成,第一个字母必须是字母或下划线
大小写有区别 int C 和 int c 是不同的。
不能使用C语言的关键字
规则:
见名知意
不宜混淆
void 不行因为是关键字; new 在c中可以在c++中不行;
请指出下列标识符的正误:count、!count、new、5abc、if、do、L_5、who、a123、_A、_123、c#、r-3、printf, sum Sum M.D.John day Date 3days
student_name #33 lotus_1_2_3
char a>b _above $123
void 锄禾日当午() { } void main3() { const int data; int a; int main; //int void; int new; int _ad; int C; int c; //大小写不同 //_ __ ____ //int intnum; //char charnum; int a1; double a2; char a3; //遵循软件工程规范,一看就懂 //int !a; int 从前有一个很饿恶心的面试官搞得我痛不欲生 = 5; //VC支持中文 } //gcc 只有字符串可以中文 函数名和变量名都不能是中文 //VC 支持中文
2.一个版本编译器的兼容性问题
gcc没有开启c++11的支持 和vc一些老版本的编译器例如 vc2010 ...
在定义变量要在调用函数之前 否则会报错误
在codeblocks 编辑器中 compiler 可以进行选择支持c++11
#include <stdio.h> #include <stdlib.h> int main() { int a=10;//C语言,老版本的编译器,GCC如果没有开启C++11支持,VC2010之前的版本 //变量必须在函数调用之前定义 printf("Hello world!\n"); int c=10; return 0; } void go() { int a,b,c;//C语言定义变量 int a1; int b1; int c1; int a2=10; int a3=10,b3=20,c3=40; }

3.变量定义的格式

4.新老版本编译器之间的不同
变量没有被初始化 新编译器会进行错误的提示,老版本则不会;
#include<stdio.h> void main() { int num; num += 1; // error C4700: 使用了未初始化的局部变量“num” // 新老编译器,新编译器提示错误,老版本不提示 // 垃圾数据,如果存了一个指针 则有可能去更改系统的使用内存而造成系统崩溃 }

浙公网安备 33010602011771号