C:知识点:一维数组、二维数组、字符数组(不断更新)

  • 经常用下面的方式定义数组
#define N 10
int a[N];
  • 也经常在定义数组的时候就给初值

#define N 10
int a[N]={1,3,5,7,9};
  • 给了初值,就可以不写长度,下面默认数组长度是5
#define N 10
int a[]={1,3,5,7,9};
  • 定义数组时,[ ]里不能有变量,也不能为实型。
  • 使用数组元素时,a[0]~a[9]是合法的数组元素。
  • 使用数组元素时,[ ]可以有变量,a[i],而且用的特别多
  • 经常要对数组遍历,也就是每个元素访问一遍同时做点什么事儿,打印、求和之类的,用for循环很适合
    for(i=0;i<N;i++)/*遍历整个数组,打印每个元素并求元素之和*/
    {
        printf("%d",a[i]);
        sum+=a[i];   
    }
  • C语言对数组元素越界没有约束,比如
    ​#define N 5
    int a[N]={1,3,5,7,9};

    合法的元素是a[0]~a[4],但是,你可以使用a[5],a[6],甚至a[-1]等这些元素,某些编译器会给警告,但是能运行,这种写法会带来一些问题,因为你引用的元素的空间可能是别的变量的空间,如果对它修改,会引发意想不到的结果。我们称这种现象为数组的越界。我们可以越界,但是越界的带来的错误和后果由程序员承担,C语言不负责。

  •  数组名是数组的首地址,也是第一元素a[0]的地址,即a&a[0]它俩是一样的。
  • 首地址是干嘛的呢?因为定义了数组,就要给它分配内存空间,先计算一下要给多少个字节,比如int型,长度10的话,就是40个字节,系统算好字节数之后,找连续尚未使用的40个字节给数组用,此时,系统里会标注&#
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值