C语言的数组

1.数组

定义,类型名+变量名[num]={};

例如:

没有给定值会默认是值为0,假如只给了十个值,那剩下的也会补0,也可以这样去定义:

可以不声明数组的长度,但后面必须有的具体值,编译器会根据你给的值来给定数组的长度,上面这种长度为4个整型,每隔整型占有4个字节,所以把arr占有16个字节。

2.当数组类型为char时

定义char类型的数组,可以像这样char name[20]={“banana”};。也可以像char name[]="abcdf";,或者char name[]={"abcde"};,但是这样写要注意,没有定义数组长度时,字符串后面会多出一个\0,数组的长度会是原来的长度加1,如下:

可以看到arr_length=7,char类型每个元素占一个字节,abcdef+\0正好是7个字节;

还有需要注意的是,以下这样的写法,[]中的值必须是常量,可以使用宏定义#define来定义一个常量,但不可以用const,程序会报错variable-sized object may not be initialized,不能使用变量来定义数组长度,切记。下面是示例:

3.二维数组

定义数组:arr[5][5]={0};

可以理解为一个矩阵,第一行,第二行,第三行组成一个一维数组,第一行中的元素又组成一个一维数组,以此类推;

想要打印二维数组中的值;就可以使用循环嵌套,外层循环列,内层循环行,如图;

4.指针数组

简单说就是存放指针的数组,本质就是一个数组,例子:

运行结果如下:

这三个值分别就是a,b,c,的地址。

最后,再说数组名实际上就是一个地址,它的地址就是数组中第一个元素p_a的地址,也即a的地址,它和指针有很大的联系与应用,后面说指针的时候会再次用到数组。下面是验证:

运行结果:

可以看到,&p_arr[0]与p_arr的地址相同。

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值