C语言程序设计(9)

59 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

数组运算

集成初始化的运算

int a[10]={
    [0]=2,[2]=3,6,8,9
};

用[n]在初始化数据中给出定位;没有定位的数据接在前面的位置后面;其它位置的值补零;也可以不给出大小,让编译器算;特别适合初始数据稀疏的数组。

数组的大小

sizeof: sizeof给出整个数组所占据的内容的大小,单位是字节, 大小为sizeof(a)/sizeof(a[0]): sizeof(a[0])给出数组中单个元素的大小,于是相除就得到了数组的单个个数;这样的代码,一旦修改数组中初始的数据,不需要修改遍历的代码

数组的赋值: 数组变量本身不能被赋值;要把一个数组的所有元素交给另一个数组,必须采用遍历

for(i=0;i<length;i++){
    b[i]=a[i];
}

遍历数组:通常都是使用for循环,让循环变量i从0到小于数组的长度,这样循环体内最大的i正好是数组最大的有效下标;

常见错误是:循环结束的条件是小于等于数组长度;或离开循环后,继续使用i的值来做数组元素的下标。

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

数组作为函数的参数时:不能在[]中给出数组的大小;不能再利用sizeof来计算数组的元素个数。

prime[cnt++]=i;的意思为先将prime[cnt]赋值为i;然后cnt加一。

构造素数表:欲构造n以内的素数表,令x为2;将2x、3x、4x直至ax<n的数标记为非素数;令x为下一个没有被标记记为非素数的数,重复2,直到所有的数都已经尝试完毕。