数组
- 一维数组的定义
1.定义一维数组的格式如下:
类型标识符 数组[名常量表达式];
其中,类型标识符可以是任何基本数据类型,也可以是结构体等构造类型,相同类型的数组可以一起定义。数组名必须是合法的标识符。常量表达式的值即为数组元素的个数。
2.一维数组的元素引用
数组定义好后,就可以“引用”数组中的任意一个元素。引用格式为“数组名[下标]。其中,下标只能为整型常量或整型表达式,值必须在数组定义的下标范围内。
不能一次引用整个数组,只能逐个引用数组的单个元素。
3.一维数组的存储结构
数组在计算机内存单元中是连续存储的。程序一旦执行到数组的定义语句,就会开辟出若干字节的内存单元。
整个数组所占的内存大小等于数组元素类型的大小乘以数组元素的个数。C++还提供了一个sizeof函数,可以直接求出一个数组所占的内存空间。根据数组在内存单元中的首地址和数组类型,可以计算出该数组中任意第i个元素的起始地址。
- 一维数组的输入与输出
1.一维数组的输入、输出等搡作,都是采用循环语句结合下标变化逐个元素进行。
批量数据一次性输入到一维数组中的一般两种方法:
(1)键盘读入
例如: int h[100];
for(i=0;i<100;i++)cin>>h[i];
(2)直接赋值
例如: int h[100],a[20];
for(i=0;i<100;i++)h[i]=0;
for(i=0;i<20;i++)a[i]=i*2+1;
2.C++里还提供了两个函数给数组“整体”赋值。
(1)memset函数
memset函数是给数组“按字节”进行赋值一般用在char型数组中,如果是int类型的数组,一般赋值为0和-1。使用前需要包含头文件:#include<cstring>。
例如,“memset(h,0,sizeof(h));”就是将h数组所有元素均赋值为0。
(2)fill函数
fill函数是给数组“按元素”进行赋值,可以是整个数组,也可以是部分连续元素,可以赋任何值。使用前需要包含头文件:#include<algorithm>。例如,“fill