数组

来源:互联网 发布:服务器linux系统 编辑:程序博客网 时间:2024/06/05 09:44
第一个数组操作的例子:
  1. #include <stdio.h>
  2. int main(void) {
  3. int a[2] = {1,2}; // 用集合的方式给数组赋值
  4. int b[2] = {2,3};
  5. int i;
  6. // 在等号左右两边使用数组下标是合法的
  7. for(i=0;i<2;i++)
  8. a[i]=b[i];
  9. // 数组直接赋值是不合法的,例如 a=b;
  10. // 即使两个具有相同值的数据进行直接比较也会返回 false
  11. if(a==b)
  12. printf("They are equal\n");
  13. else
  14. printf("They are not equal\n");
  15. // 下面的比较结果为 true
  16. if(a==a)
  17. printf("Of course a is equal to a\n");
  18. else
  19. printf("No, a is not equal to a\n");
  20. // 比较两个数组的地址才是有效的,而比较内容无效
  21. // 不能将数组一次性输出,必须一个元素一个元素的循环输出
  22. for(i=0;i<2;i++)
  23. printf("a[%1d] = %3d\n", i, a[i]);
  24. }
输出结果:
They are not equal
Of course a is equal to a
a[0] = 2
a[1] = 3

第二个数组操作的例子:
  1. #include <stdio.h>
  2. #define N 10
  3. void oneWay(void);
  4. void anotherWay(void);
  5. int main(void) {
  6. printf("\noneWay:\n");
  7. oneWay();
  8. printf("\nantherWay:\n");
  9. anotherWay();
  10. }
  11. // 以集合的方式初始化数组
  12. void oneWay(void) {
  13. int vect[N] = {1,2,3,4,5,6,7,8,9,0};
  14. int i;
  15. for (i=0; i<N; i++)
  16. printf("i = %2d vect[i] = %2d\n", i, vect[i]);
  17. }
  18. // 循环初始化数组
  19. void anotherWay(void) {
  20. int vect[N];
  21. int i;
  22. for (i=0; i<N; i++)
  23. vect[i] = i+1;
  24. for (i=0; i<N; i++)
  25. printf("i = %2d vect[i] = %2d\n", i, vect[i]);
  26. }
输出结果:
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
原创粉丝点击