菜鸟学习笔记 欢迎大佬指教
一维数组:
声明:int arr[10]; //声明一个一位数组可以存放10个(int)整形的数组
计算该数组的大小:
- sizeof(arr) 会返回数组 a 占用的总字节数。
- sizeof(int) 会返回单个 int 类型变量占用的字节数。
我们使用总字节数/单个字节数就可以得到: 数组元素中的数量
例如:
1 #include <stdio.h>
2
3
4 int main(){
5 int arr[5]={1,2,3,4,5};
6 printf("%d %d %d %d %d\n", arr[0], arr[1], arr[2], arr[3], arr[4]);
7 printf("sizeof(int)=%ld\n",sizeof(int));
8 printf("sizeof(arr)/sizeof(int)=%ld\n",sizeof(arr)/sizeof(int));
9
10 return 0;
二维数组:
二维数组就相当于几个一维数组合在一起的数组;
例:arr[3][4] 就是3个一维数组 组成的而一维数组里面又有4个数组元素
注:数组里面的下标都是从0开始的;
int arr[3][4]={
//声明的时候表示的是元素的个数 而使用打印的时候则是需要下标来表示数组元素,而且默认从0开始 下标: 0 1 2 3
0 {1,2,3,10},//下标从arr[0][0]开始(第一个一维数组)arr[0][4]结束
1 {4,5,6,10},//下标从arr[1][0]开始(第二个一维数组)arr[1][4]结束
2 {7,8,9,10} //下标从arr[2][0]开始(第三个一维数组)arr[2][4]结束
};
我们打印的时候就可以直接根据下标去打印输出需要的内容就可以了
printf("%d",arr[1][2]); //这样就是打印 第二个一位数组的第三个元素 “6”
单个单个去打印也比较麻烦;也可以使用循环打印;
使用for循环打印
当我们打印一维数组的时候可以使用一个for循环就可以了
例如
1 #include <stdio.h>
2
3 int main(){
4 int n=sizeof(arr)/sizeof(arr[0]) //统计元素个数
5 int arr[5]={1,2,3,4,5};
6 for(int i=0;i<n;i++){ //打印的时候循环的次数少于元素个数就可以了 因为是从0开始的0-5是6个
//小于6且循环5次就可以了
7 printf(" %d\n",arr[i]);
8 }
9 printf("\n"); //作用换行
10
11 return 0;
12 }
一维数组相对简单:
二维数组打印也差不多 只要明白且套循环就可以了
for(初始条件;终止条件;更新条件){
//执行内容
for(初始条件;终止条件;更新条件){
//执行内容
}
}
嵌套循环 外层执行一次 内层执行完全部
1 #include <stdio.h>
2
3 int main(){
4
5
6 int a[3][4]={
7 {1,2,3,10},
8 {4,5,6,10},
9 {7,8,9,10}
10 };
11 int n=sizeof(a);
12
13
14 int b=(sizeof(a)/sizeof(a[0]));
15
16
17 for(int i=0;i<(sizeof(a)/sizeof(int))/4;i++){//外层循环是循环一维数组
18 for(int j=0;j<=b;j++){ //内层循环 循环一维数组里的元素
19 printf(" %d",a[i][j]); //当i=0的时候j就挨个的去执行直到j<=b才结束 当j<=b的时候已经循环完整
20 //个一位数组了
21 }
22 printf("\n");
23 }
24
标签:10,arr,语言,int,一维,二维,数组,sizeof From: https://blog.csdn.net/m0_58341340/article/details/142300378