一.定义数组

  <类型>变量名称[元素数量];

(元素数量必须是整数)

如∶int grades [100];

特点∶①其中所有元素具有相同的数据类型

          ②一但创建,不能改变大小

(数组中的元素在内存中依次排列)

如int a[10];有十个单位∶a[0],a[1]

……a[9]

每个单元就是一个int类型的变量

[]里面从0开始,被称为下标或索引

二.数组运算

举例∶
const int number=10; int x; int count[number]; int i; for (i=0;i<number;i++){
count[i]=0; } scanf("%d",&x); while(x!=-1){ if(x>=0&&x<=9){ count[x]++; }
scanf("%d",&x); } for(i=0;i<number;i++){ printf("%d:%d\n",i,count[i]); }
其中const int number=10;是数组的大小

int count[number];是定义数组

⑴求数组单元个数

  i=sizeof(a)/sizeof(a[0])

⑵数组的赋值

数组变量本身不能被赋值,要把一个数组的所有元素变成另一个数组,必须使用遍历

如:int a[]={ , , , ,}
for(i=0;i<length;i++){ b[i]=a[i]; }
遍历数组常见错误∶

①循环结束条件是<=数组长度

②离开循环后,继续用i的来做数组元素的下标

数组作为函数的参数时(往往必须再用另一个参数来传入数组的大小)∶

①不能在[]中给出数组的大小

②不能再利用sizeof来计算数组的元素个数

三.二维数组

如int [3][5];

 a是一个3行5列的矩阵

与一维数组相比,二维数组的遍历则需两重循环
for(i=0;i<3;i++){ for(j=0;j<5;j++){ a[i][j]=i*j; } }
①列数必须给出,行数可以省略

②每行一个{},逗号分隔

③如果省略,表示补零

 

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信