int arr1[] = {11,22,33}; int arr2[3] = {11,22,33};
规定:数组一旦确定下来,长度不会再发生变化
数组元素的访问
格式:数组名[索引或者下标];
索引:索引是数组容器中每个元素的编号,编号从0开始,逐个+1增长
1 2 3 4 5 6 7 8 9
int arr[5] = {1,3,5,7,9}; printf(“%d\n”,arr[2]);//输出arr数组2号下标上的数据,也就是5 printf(“%d\n”,arr[5]);//索引5没有这个元素,索引越界结果不可预测 //遍历数组中所有的元素 int n = sizeof(arr)/sizeof(arr[0]) for(int i=0; i < n; i++) { printf("%d\n",arr[i]); }
/*数组元素逆序*/ #include<stdio.h> intmain() { int a[] = {8, 9, 10,100,23,54,65}; int n = sizeof(a) / sizeof(a[0]); for (int i = 0; i < n; ++i) { printf("%d ", a[i]); } printf("\n"); // 数组元素逆序 for (int i = 0; i < n/2; ++i) { int t = a[i]; a[i] = a[n - 1 - i];//2 6-1-2 a[n - i - 1] = t; } //方法2 for (int i = 0,k = n-1; i < n/2;i++,k--) { int t = a[i]; a[i] = a[k]; a[k] = t; } //方法3 for (int i = 0,k = n-1; i < k; i++,k--) { int t = a[i]; a[i] = a[k]; a[k] = t; }
for (int i = 0; i < n; ++i) { printf("%d ", a[i]); } printf("\n"); return0; }