C 数组

有时候,需要存储一大堆相同类型的数据的时候怎么办?
我们虽然可以创建很多个变量,但是终究不是办法,这个时候我们就需要数组了。

在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。

数组解决了:

  1. 描述数组的性质,定义数组变量
  2. 使用数组,包括通过数组变量使用其中的变量
  3. 实现数组,即在内存里为数组安排一种存储方式,让程序方便操作

定义

和普通基本类型相似 都需要指定类型 和 需要一个变量,区别是,需要在变量名后加上 ,
而且在 内需要指定数组的大小。

int a[10];// 定义一个 int 类型数组 a,长度为 10
double b[5]; //定义一个 double 类型数组 b,长度为 5

使用

使用数组的最基本是操作元素访问。首元素下标规定为 0 ,这样,n 个元素的数组范围就是从 0 到 n-1 。
如果超过 n-1,则会报下标越界错误。新手经常犯这个错误。

int a[4];
a[0] = 2;
a[1] = 10;
a[3] = a[1] + a[2];

显然,这里我们看不出这里数组有多大作用;
我们来看下 Fibonacci数的数组,获取前30个数,然后从大到小打印出数组内的所有数
直接上代码

long fib[30];
int n;
fib[0] = 1;
fib[1] = 1;

// 计算前30个数,并存入对应数组内
for(n =2;n<30;n++){
    fib[n] = fib[n-1] + fib[n-2];
}

//打印结果
for(n=29;n>=0;n--){
    printf("%d", fib[n]);
}

从这个例子可以看出, 利用循环变量可以统一形式访问一批数组,这样做可以带来很多方便。用long 类型的数组,是考虑到元素有可能变得很大。

数组初始化

int b[4] = {1,2,3,4};
double d[3] = {1.23,2.34,4.11};

出一道小题给大家练练手,
题目:二进制转换 写一个函数命名为 bin2int, 给定一个二进制数的 0/1 字符串,它能计算出这个字符串所表示的整数值。

int main(){
    int n = bin2int("11101110");
    printf("%d\n",n);
    return 0;
}

请大家完成 bin2int() 方法,在下面回复贴上代码,最好带上注释解释。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,559评论 2 13
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,814评论 3 44
  • 一维数组 定义一维数组的一般形式为 类型符 数组名[常量表达式] (1)数组名的命名规则和变量名相同,遵循标识符命...
    去留无意hmy阅读 3,437评论 0 1
  • 不知是在旅游节目还是在报刊杂志或别的什么地方读到了这样的一种生活状态:“在路上……。”,是旅行,是漫无目的的行走,...
    405的阿花阅读 3,262评论 0 2
  • 关于路劲文化价值观 先有“诚实、勤奋、务实、量化”; 后有“诚信、勤奋、务实、创新”; 现有“诚信、勤奋、务实、创...
    茜妞的阅读 2,498评论 0 0