如何在C ++中实现数组?
数组是具有相同数据类型的元素的顺序集合。
它们被顺序存储在存储器中。
数组是包含相似类型元素的数据结构。
数组元素不会像在Java中那样被视为c ++中的对象。
在本文中,我们将讨论C ++中的数组。
C ++中的数组
假设我们在音乐唱片商店,我告诉我们将所有唱片放在XYZ Records标签下,放在另一个地方。
记录的这种顺序集合可以称为数组。
数组是相同数据类型的元素的顺序集合。
在上面的示例中," XYZ记录"是数据类型,并且我们收集的所有记录都具有相同的发布者。
数组中的所有元素均以通用名称寻址。
有关C ++中的数组的本文将重点介绍这些基本指针,
一维数组
声明期间的初始化
用户初始化
随时访问阵列
多维数组
让我们首先了解什么是一维数组,
单维数组
声明一维数组的语法
我们有一个数据类型,它可以是任何基本数据类型,例如int,float或者double。
数组名称是数组的名称,我们声明数组的大小。
在上面的示例中,数组为
XYZ Record recordArray[100];
让我们考虑另一个示例:
int test[20];
数组测试将保存int类型的元素,并且大小为20。
" C ++中的数组:数组大小"
数组大小在声明数组时给出。
一旦指定了数组的大小,就无法更改。
然后,编译器会为阵列分配那么多的内存空间。
考虑例子
int test[20];
在上面的示例中,我们有一个类型为int的数组测试。
我们将数组大小设置为20。
这意味着将在内存中为数组保留20个连续的内存位置。
数组索引和初始化
与数组中每个位置关联的数字,该数字称为数组索引。
它从0开始到最后一个元素,即数组的大小减去1.
因为我们从零开始计数而不是从1开始,所以这里有负1.
数组索引始终从零开始。
考虑这个例子,这是年龄数组。
数组值 | 12 | 41 | 03 | 13 | 07 |
数组索引 | 0 | 1 | 2 | 3 | 4 |
这里的数组包含值12,41,3,13,7,索引为0,1,2,3,4,5.
如果要在索引4处表示元素,则将其表示为age [4],并显示值7.
默认情况下,数组包含所有零值。
数组初始化在声明时完成。
如果用户在需要时输入数组值,也可以稍后执行此操作。
让我们看看初始化过程中初始化是如何工作的,
声明期间的初始化
数组可以在声明期间初始化。
这是通过在声明时指定数组元素来完成的。
这里的数组大小也是固定的,由我们决定。
考虑一下代码,
#include<iostream> using namespace std; int main() { int arr[] = { 10, 20, 30, 40 } ; return 0; }
说明
在上面的示例中,我们创建了一个类型为int且名称为arr的数组。
我们直接指定数组元素。
数组的大小是通过计算数组中元素的数量来确定的。
在这种情况下,大小为4.
这篇关于C ++数组的文章的下一部分让我们看到了用户初始化的工作方式
用户初始化
在这种方法中,我们让用户决定数组的大小。
在这种情况下,我们需要一个变量来保存数组的大小,并需要一个for循环来接受数组的元素。
我们在声明时分配一个随机大小,仅在需要时使用。
开始时的大小通常在较高的一侧。
我们有一个变量i来控制for循环。
考虑这个例子,
#include<iostream> using namespace std; int main() { int arr[50],n,i ; cout<<"Enter the size of array:"<<endl; cin>>n; cout<<"Enter the elements of array:"<<endl; for(i=0;i<n;i++) { cin>>arr[i]; } return 0; }
说明
在上面的程序中,我们声明了一个大小为50的数组。
然后,我们要求用户输入他希望在该数组中输入的元素数。
然后,我们接受用户输入的数组元素。
C ++中的数组:显示数组
显示数组还需要for循环。
我们遍历整个数组并显示该数组的元素。
这是一个例子
#include<iostream> using namespace std; int main() { int arr[50],n,i ; cout<<"Enter the size of array:"<<endl; cin>>n; cout<<"Enter the elements of array:"<<endl; for(i=0;i<n;i++) { cin>>arr[i]; } cout<<"Array elements are:"<<endl; for(i=0;i<n;i++) { cout<<arr[i]<<"t"; } return 0; }
说明
在上面的程序中,我们声明了一个大小为50的数组。
然后,我们要求用户输入他希望在该数组中输入的元素数。
然后,我们接受用户输入的数组元素。
然后,我们再次使用for循环显示数组元素。
随时随地访问阵列
访问数组元素很简单,可以通过使用数组索引来完成。
看看下面的代码。
#include<iostream> using namespace std; int main() { int arr[5],i ; arr[4]=2; arr[2]=17; arr[0]=17; cout<<"Array elements are:"<<endl; for(i=0;i<5;i++) { cout<<arr[i]<<"t"; } return 0; }
说明
在上面的程序中,我们有一个大小为5的数组。
我们使用数组索引在不同位置输入元素。
我们打印数组以获得上面的输出。
默认情况下,所有数组元素均为零。
如果我们越过数组大小会怎样?
在c ++中,如果尝试超出范围访问元素,则编译器可能不会显示错误,但不会获得正确的输出。
这将我们带到C ++文章中有关此数组的最后一部分,
多维数组
数组的数组是多维数组。
这是因为多维数组中的每个元素都有其自己的数组。
我们需要n个for循环来迭代多维数组,具体取决于维度。
声明多维数组的语法
Datatype arrayname[size1][size2]…..[size n]
int a[10][20];
考虑这个例子,
上面数组的大小将为10 * 20,即200个元素。
同样,我们可以有两个或者三个甚至更多个维数组。
每个维度都需要一个for循环。
因此,二维数组需要二维,而三维数组需要三个。
考虑代码
#include<iostream> using namespace std; int main() { int arr[3][2] = {{0,1}, {2,3}, {4,5}}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { cout << "Element:"; cout <<arr[i][j]<<endl; } } return 0; }t
在上面的代码中,我们显示3 * 2矩阵。
该数组有3行2列。
我们有2个for循环。
每个负责数组的一维。
外部for循环负责行和列内部。
类似地,我们可以为三维数组编写代码,将有三个for循环,每个维度将由一个for循环控制。