C语言-数组运算

数组的集成初始化

int a[] = {2, 4, 6, 7, 1, 3, 5, 9, 11, 13, 23, 14, 32};
  • 直接用大括号给出数组的所有元素的初始值
  • 不需要给出数组的大小,编译器替你数

集成初始化时的定位(C99 ONLY!)

int a[10] = {[0] = 2, [2] = 3, 6, };
  • 用[n]在初始化数据中给出定位
  • 没有定位的数据接在前面的位置后面
  • 其他位置的值补零
  • 也可以不给出数据的大小,让编译器算
  • 特别适合初始化数据稀疏的数组

数组的大小

  • sizeof给出整个数组所占据的内容的大小,单位是字节
sizeof(a)/sizeof(a[0])
  • sizeof(a[0])给出数组中单个元素的大小,于是相除就得到了数据的单元个数

数据的赋值

int a[] = {2, 4, 6, 7, 1, 3, 5, 9, 11, 13, 23, 14, 32};
~~int b[] = a;~~ 
  • 数组变量本身不能被赋值
  • 要把一个数据的所有元素交给另一个数组,必须采用遍历
for ( i = 0; i < length; i++ ) {
    b[i] = a[i];
}    

遍历数组

for ( i = 0; i < number; i++ ) {
    count[i] = 0;
}
  • 通常都是使用for循环,让循环变量i从0到<数组的长度,这样循环体内最大的i正好是数组最大的有效下标
  • 常见的错误是
  • 循环结束的条件是<=数组长度, 或;
  • 离开循环后,继续用i的值来做数组元素的下标!

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

  • 数组作为参数时:
    • 不能在[]中给出数组的大小
    • 不能再利用sizeof来计算数组的元素个数!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值