哇,今天属实是有点晚了啊!最近学习了一下数组这块的内容~所以来写一下自己对数组的认识(。ò ∀ ó。)
数组是一组相同类型元素的集合。数组通常分为一维数组和多维数组,还有在c99中新加进去的变长数组。我对多维数组的认识不太多只学习了其中的二维数组。下面我们来看看吧~
一维数组
一维数组比较像集合吧(就是只有一行那种),一维数组创建大致如下
type arr-name[常量值];
- type指的是数组中存放的类型(如int,char,double等)
- arr-name是数组的名字
- []中常量值是数组中元素的个数
接下来说一下数组的初始化,一般吧元素放在{}中进行初始化。在初始化时可以选择完全初始化,也可以选择不完全初始化(如不完全则没有初始化的元素默认初始化为0)。举个例子
int arr[5]={1,2,3};
- 这时arr中的元素为1,2,3,0,0
然后是数组的使用,我们想要调用数组中的某个元素就要使用数组的下标去访问它。C语言中数组的下标是从0开始的,我们用“[]”(下标引用符)来访问数组(如想访问上面创建的数组中的3,它的下标是2,则用arr[2]就可以访问它了)。
注:数组去掉名称就是数组的类型,所以当两个数组元素个数不同时,两个数组的类型也不相同。
二维数组
二维数组比较像矩阵,创建也和一维数组差不多
type arr-name[常量值1][常量值2];
- 常量值1代表二维数组的行数
- 常量值2代表二维数组的列数
接下来就是二维数组的初始化了,也是有两种情况,一种是完全初始化,另一种是不完全初始化。另外在初始化二维数组时行数可以省略。并且可以指定字符在哪一行,用{}括起来,来看个例子吧(๑ᵔ⌔ᵔ๑)
int arr[3][4]={{1,2},{3,4},5};
- 这样初始化就会吧1,2放在第一行(列标为0);3,4放在第二行(列标为1);5放在第三行(列标为2),其余未初始化的元素自动初始化为0。
同样二维数组的使用也是通过下标去访问它,下面我们来用打印二维数组来看一下怎么实际使用吧。就打印刚刚初始化的那个。
int i,j;
for(i=0;i<3;i++)//确定行
{
for(j=0;j<4;j++)//确定列
{
printf("%d ",arr[i][j]);
}
}
变长数组
在c99中为了是空间得到更充分的利用,允许用变量来创建数组,然后再在程序执行时通过输入给变量赋值从而确定数组大小。值得一提的是长变数组不能初始化。
补充:数组在内存中是连续存放的,地址是挨着的
最后祝大家晚安啦,一夜好梦*^_^*。明天迎接活力满满的自己!