C Primer Plus学习 九 数组
来源:互联网 发布:金山数据恢复账号购买 编辑:程序博客网 时间:2024/05/21 14:43
一个数组就是线性存储的一系列相同类型的值,例如10个字符或15个整数。整个数组有一个单一的 名字,单独的项或元素可以使用一个整数索引来进行访问。例如,下列声明:
debts[5] = 32.54; debts[6] = 1.2e+21:
float debts[20];
声明debts是一个具有20个元素的数组,其中的每个元素都是一个类型为float的值。这个数组的第一 个元素称为debts[0],第二个元素称为debts[l],这样直到debts[19]。注意数组元素的编号是从0而不是1 开始的。每个元素都可以被陚予一个float类型的值。
例如,您可以使用以下代码:
debts[5] = 32.54; debts[6] = 1.2e+21:
一个潜在的易犯错误是:出于执行速度的考虑,C并不检査您是否使用了正确的下标。例如,以下都 是错误的代码:
debts[20]=88.32: //没有这个数组元素
debts[33] = 828.12; //没有这个数组元素
但是编译器并不会发现这样的错误。当程序运行时,这些语句把数据放在可能由其他数据使用的位置 上,因而可能破坏程序的结果甚至使程序崩溃。
用于标识数组元素的数字称为下标(subscript)、索引(index)或偏移量(offset)。下标必须是整数, 而且像前面提到的那样,下标从0开始。
数组中的元素在内存中是顺序存储的。如图:
// scores_in.c --使用循环进行数组处理
#include <stdio.h>
#define SIZE 10
#define PAR 72
int main(void)
{
int index,score[SIZE];
int sum=0;
float average;
printf("Enter %d golf scores:\n",SIZE);
for (index=0;index<SIZE;index++)
{
scanf("%d",&score[index]);//读入10个分数
}
printf("The scores read in are as follows: \n");
for (index=0;index<SIZE;index++)
{
printf("%5d",score[index]);//验证输入
}
printf("\n");
for(index=0;index<SIZE;index++)
{
sum+=score[index];//求它们的和
}
average=(float)sum/SIZE;
printf("sum of scores%d,average=%.2f\n",sum,average);
printf("that is a handicap of %.0f\n",average-PAR);
return 0;
}
- C Primer Plus学习 九 数组
- C Primer Plus学习 四十四 结构数组
- C Primer Plus(九) 函数
- c Primer Plus(九) -2
- C Primer Plus(第五版)学习(九)
- C Primer Plus学习
- C Primer Plus学习 十九 指针和数组
- C Primer Plus学习 二十 函数、数组和指针
- C Primer Plus学习 四十八 使用结构数组的函数
- C Primer Plus学习 五十九 从数组到链表
- C Primer Plus(九) -3指针简介
- c++primer plus阅读笔记(九)
- C++Primer Plus学习笔记
- 《C Primer Plus》学习笔记
- 《C Primer Plus》学习笔记
- C Primer Plus 学习笔记
- C Primer Plus学习 一
- C Primer Plus学习 二
- MySQL修改root密码的多种方法
- Eclipse在线配置Hibernate Tools
- Opencv学习笔记 ---opencv生成摄像头标定棋盘
- POJ - 2135 Farm Tour
- 【Android】WebView:onReceiveError的应用与变迁
- C Primer Plus学习 九 数组
- 345. Reverse Vowels of a String
- 如何搭建易企秀H5平台?
- WebView与JavaScript交互
- dispatcherservlet详解
- Opencv学习笔记-----FilePath的相对路径设置方法
- android开发经常碰到的crash(上)
- C. Line(扩展欧几里得求不定方程的解)
- GBDT、GBRT