什么是数组
数组(array)是一个存储了固定大小,同类型元素的集合。也就是说,数组就是一个由多个同类型元素按顺序排列组成的一个集合。在程序执行的过程中我们经常会存储很多数据,这时候就需要使用到数组。比如存储100个学生的成绩,每个学生的成绩(假设都是整数)都是int类型的数值,这时候,把这些成绩放到一个int sorce[100]的数组中,就可以更加方便地查看或操作这些学生的成绩。
数组语法
声明数组
//声明数组
elementType arrayName[SIZE]
//elementType可以是任何类型的数据类型,所有的数组成员都是这个类型的
//SIZE是大小,必须是大于0的整数
//上面的int sorce[100]就是一个所有成员都是int类型,数组大小为100(有100个成员)的
初始化数组
//初始化数组
//1. SIZE和Value
elementType arrayName[SIZE] = {value1, value2, ..., valuen};
//2. 当有value时,可以省略SIZE,SIZE为value的个数n
elementType arrayName[] = {value1, value2, ..., valuen};
数组元素赋值
注意:数组的下标是从0开始的,也就是说array[0]是数组array中的第一个元素,下标最大为SIZE-1
//数组赋值
arrayName[index] = value;
//index是下标,最小为0,最大为SIZE-1
访问数组
//访问数组
arrayName[index];
处理数组
获取数组长度
sizeof(array)/sizeof(array[0]);
//sizeof()函数是所传参数在内存中占的大小
//sizeof(array[0])表示里面一个元素的大小,sizeof(array)表示整个数组的大小
用输入的值来初始化数组并输入
#include <iostream>
using namespace std;
int main()
{
int sorce[10];
for (int i = 0; i < sizeof(sorce)/sizeof(sorce[0]); i++) {
cout << "请输入第" << i+1 << "个学生的成绩(共十个):" ;
cin >> sorce[i];
}
for (int i = 0; i < sizeof(sorce)/sizeof(sorce[0]); i++) {
cout << "第" << i+1 << "个学生的成绩是:" << sorce[i] << endl;
}
return 0;
}
运行结果:
复制数组
在C++中复制数组不能直接用=来操作(array1 = array2;),需要以循环的方式一个个元素复制
#include <iostream>
using namespace std;
const int SIZE = 5;
int main()
{
int list[SIZE] = {1, 2, 3, 4, 5};
int myList[SIZE];
for (int i = 0; i < SIZE; i++) {
myList[i] = list[i];
}
for (int i = 0; i < SIZE; i++) {
cout << "myList的第" << i+1 << "个元素:" << myList[i] << endl;
}
return 0;
}
运行结果:
求数组中所有元素之和
#include <iostream>
using namespace std;
const int SIZE = 5;
int main()
{
int list[SIZE] = {1, 2, 3, 4, 5};
int total = 0;
for (int i = 0; i < SIZE; i++) {
total += list[i];
}
cout << "list数组中所有元素之和为:" << total << endl;
return 0;
}
运行结果:
数组作为函数参数(按址传参)
#include <iostream>
using namespace std;
const int SIZE = 5;
//查看数组的第一个元素
void firstElement (int array[]) {
cout << "The first element of array is " << array[0] << endl;
}
int main()
{
int list[SIZE] = {1, 2, 3, 4, 5};
firstElement(list);
return 0;
}
运行结果:
数组作为函数返回值
在C++中,不允许出现以数组类型为返回值的函数
//下面的函数头是错误的,因为C++中不允许以数组为返回值
int[] funcation()
但是,我们可以在函数的形参中国添加一个数组来绕过这个限制。比如一个复制数组的函数:
#include <iostream>
using namespace std;
const int SIZE = 5;
void arrayCopy (int array1[], int array2[]) {
for (int i = 0; i < SIZE; i++) {
array2[i] = array1[i];
}
}
int main()
{
int list[SIZE] = {1, 2, 3, 4, 5};
int myList[SIZE];
arrayCopy(list, myList);
for (int i = 0; i < SIZE; i++) {
cout << "myList的第" << i+1 << "个元素:" << myList[i] << endl;
}
return 0;
}
运行结果:
原文链接: https://www.cnblogs.com/bwjblogs/p/12641935.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/195451
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!