第一节 变量
一、变量定义
变量名: 只包含A~z(大写字母和小写字母)、数字0~9和下划线。 并且必须以字母或者下划线开头。变量名最长2048个字符。平时使用最好控制在31个字符以内。
声明变量:
int value; 整形变量的定义形式。
int value=2; 整形变量定义初始化。
int vvalue(10); 整形变量定义初始化。
二、数据类型
1、整数变量 int 在内存中占用4个字节。
short 在内存中占用2个字节。
long 在内存中占用4个字节。
2、字符变量
char 在内存中占用1个字节。
wchar_t 在内存中占用2个字节。
3、布尔变量
bool 在内存中占用1个字节。
4、浮点变量
double 在内存中占用8个字节。
float 在内存中占用4个字节。
三、定义数据类型的同义词
typedef long int BigOnes; 把BigOnes定义为long int的另一个类型说明符。
可以声明: BigOnes mynum=0L; 等同 long int mynum=0L;
四、枚举类型
enum Week{Mon,Tues,Wed,Thurs,Fri,Sat,Sun} thisWeek; thisWeek=Thurs; 具有枚举类型的所有变量都占用4个字节。
enum Week nextWeek; 在内存中占用4个字节。
举例:
enum Week{Mon=1,Tues=1,Wed,Thurs,Fri,Sat,Sun} thisWeek;
enum Punctuation {Comma=',',Exclamation='!',Question='?'} things;
注意:赋予的值不一定遵循升序方式。如果没有显示地指定所有值,那么将按照从最后一个指定值开始递增1的方式给每个计数器赋值。
五、数组变量
1、数组声明格式: 数据类型 数组名称[数组长度] long arrary[6] 数组arrary的长度为6
2、数组初始化: int cubic_inches[5]={1,2,3,4,5};
int cubic_inches[5]={1,2,3}; 则cubic_inches[4]的值为0;
int cubic_inches[5]={0}; 则cubic_inches的所有值为0;
int cubic_inches[5]; 则cubic_inches的所有值为内存遗留值。
int values[]={1,2,3,4,5,6} 则表示values数组的长度为6,值分别是1,2,3,4,5,6。
3、字符串数组
char movie_star[15]="Marilyn Monroe"; 其中\0是编译器自动添加的。
char president[]="Ulysses Grant"; 编译器分配足够的内存来容纳该字符串和终止字符。
wchar_t president[]=L"Ulysses Grant"; 此字符串包括终止空字符串都会占两个字节。
4、多维数组
double beans[12][10]; 第一个索引值是行号,第二个索引值是行内编号。(农田有12行10列)
double beans[8][12][10]; (有8块农田,每块农田是12行10列)
5、多维数组初始化
long data[2][4]={{1,2,3,5},{7,11,13,17}}; 数组中每行的初始值都被包围在个子的大括号内。大括号之间用逗号分开。
我们可以在某行内省略某些初值,这样未获得初值的数组元素将被初始化为0.
long data[2][4]={0}; 表示这个二维数组的所有值为0.
char stars[][80]={"Robert Redford",
"Hopalong Cassidy",
"Lassie",
"Slim Pickens",
"Boris Karloff",
"Oliver Hardy"
}; 我们省略数组第一维大小,让编译器计算长度。
六、指针
1、指针声明
long* pnumber; long *pnumber;
注意:long* pnumber,number=99; 指的是pnumber是指针,而number是long类型变量。
2、取地址运算符
pnumber=&number; pnumber中存储的是number的实际内存地址。
3、取指针地址对应的值
*pnumber;
4、初始化指针
int *pnumber=NULL; int *pnumber=0; 比较偏向后者。
5、指向char类型的指针
char *proverb="A miss is as good as a mile."; 等价于 声明了一个const char 类型的数组,并将数组的地址赋值给proverb.
6、指针数组
char *pstr[]={"Robert Redford", 对应的内容pstr[0]
"Hopalong Cassidy", 对应的内容pstr[1]
"Lassie", 对应的内容pstr[2]
"Slim Pickens", 对应的内容pstr[3]
"Boris Karloff", 对应的内容pstr[4]
"Oliver Hardy" 对应的内容pstr[5]
};
7、常量指针和指向常量的指针
指向常量的指针: const char* pstring="Some text"; 我们不能修改被指向的对象,担可以使指针指向其他对象。
指向某个对象的常量指针: char* const pstring="Some text"; 我们不能修改指针中存储的地址,但可以修改指针指向的对象。
指向常量对象的常量指针: const char* const pstring="Some text"; 指针和被指向的对象都被定义成常量,都不能修改。
8、给数组指针分配内存
char *pstr=NULL; 指针的声明
pstr=new char[20]; 为20个字符的char数组分配空间,并将其地址存入pstr中。
delete [] pstr; 删除刚20个字符的数组。
pstr=0; 应该总是将该指针重新设置成0。
七、引用
引用是另外一个变量的别名。这样的别名可以代替原来的变量名。因为是别名而非指针,所以声明引用时必须指出对应的变量。与指针不同的是,
我们不能修改引用,使其表示另外一个变量。
1、声明并初始化引用
long number=0; 声明变量。
long &number=number; 为变量number声明一个引用。

浙公网安备 33010602011771号