一、一维数组
例如,北京最近100年来每年的平均温度值可保存在一个数组中,该数组可定义为:
float annual_temp[100];
这个定义会使得编译器分配100个连续的float变量的内存空间。数组元素的个数在编译时就必须固定,且最好定义为一个常量。这样,当数组元素的个数需要改变时,只要改变相应的常量即可:
const int NE=100;
float annual_temp[NE];
数组元素的下标从0开始计数。
访问数组元素的方法是通过数组名及数组名后的方括号中的下标。例如,假定要设置上面定义的数组annual_temp的第15个元素值为11.5,则代码为:annual_temp[14]=11.5
如果访问的数组元素不存在,会导致一个严重的错误。例如:
annual_temp[100]=12.3; //错误,该数组的最大下标为99!
初始化:
案值放在一对大括号“{}”中,各初值之间用逗号隔开。例如:
int primes[]={1,2,3,5,7,11,13};
在上面的定义中,没有显示说明数组元素的个数,编译器会根据初值的个数和类型,分配足够的内存空间。本例中,primes将分配7个整型元素的内存空间。再看下面的例子:
int primes[10]={1,2,3,5,7};
数组元素的个数有10个,但初值只有5个。此时,只有前5个数组元素赋给了初值。
二、按位异或运算符 ^
参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^0=1, 0^1=1, 1^1=0
通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现:
a=10100001,b=00000110
a=a^b; //a=10100111
b=b^a; //b=10100001
a=a^b; //a=00000110
按位异或运算符 ^ http://blog.csdn.net/kybd2006/article/details/3727218