第一个数组操作的例子:
- #include <stdio.h>
- int main(void) {
- int a[2] = {1,2}; // 用集合的方式给数组赋值
- int b[2] = {2,3};
- int i;
- // 在等号左右两边使用数组下标是合法的
- for(i=0;i<2;i++)
- a[i]=b[i];
- // 数组直接赋值是不合法的,例如 a=b;
- // 即使两个具有相同值的数据进行直接比较也会返回 false
- if(a==b)
- printf("They are equal\n");
- else
- printf("They are not equal\n");
- // 下面的比较结果为 true
- if(a==a)
- printf("Of course a is equal to a\n");
- else
- printf("No, a is not equal to a\n");
- // 比较两个数组的地址才是有效的,而比较内容无效
- // 不能将数组一次性输出,必须一个元素一个元素的循环输出
- for(i=0;i<2;i++)
- printf("a[%1d] = %3d\n", i, a[i]);
- }
输出结果:
第二个数组操作的例子:
- #include <stdio.h>
- #define N 10
- void oneWay(void);
- void anotherWay(void);
- int main(void) {
- printf("\noneWay:\n");
- oneWay();
- printf("\nantherWay:\n");
- anotherWay();
- }
- // 以集合的方式初始化数组
- void oneWay(void) {
- int vect[N] = {1,2,3,4,5,6,7,8,9,0};
- int i;
- for (i=0; i<N; i++)
- printf("i = %2d vect[i] = %2d\n", i, vect[i]);
- }
- // 循环初始化数组
- void anotherWay(void) {
- int vect[N];
- int i;
- for (i=0; i<N; i++)
- vect[i] = i+1;
- for (i=0; i<N; i++)
- printf("i = %2d vect[i] = %2d\n", i, vect[i]);
- }
输出结果:
oneWay:
i = 0 vect[i] = 1
i = 1 vect[i] = 2
i = 2 vect[i] = 3
i = 3 vect[i] = 4
i = 4 vect[i] = 5
i = 5 vect[i] = 6
i = 6 vect[i] = 7
i = 7 vect[i] = 8
i = 8 vect[i] = 9
i = 9 vect[i] = 0
antherWay:
i = 0 vect[i] = 1
i = 1 vect[i] = 2
i = 2 vect[i] = 3
i = 3 vect[i] = 4
i = 4 vect[i] = 5
i = 5 vect[i] = 6
i = 6 vect[i] = 7
i = 7 vect[i] = 8
i = 8 vect[i] = 9
i = 9 vect[i] = 10