一、一维数组

例如,北京最近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