02-1 一维数组的定义方式
创建一个一维数组有三种方法:
-
数据类型 数组名称 [数组长度];
-
数据类型 数组名称 [数组长度] = {数据值 1,数据值 2,...};
-
数据类型 数组名称 [ ] = {数据值 1,数据值 2,...};
数组特点:连续的内存空间 相同的数据类型。
我们可以来举例子:
第一种创建方式:
#include <iostream>
using namespace std;
int main()
{
//数组
//1.`数据类型 数组名称 [数组长度];`
int arr1[5]; //创建一个5长度的数组,这个数组的数据类型为 int
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;
arr1[3] = 40;
arr1[4] = 50;//给数组赋值
for (int i = 0; i < 5; i++)
{
cout << arr1[i] << endl;//看看数据,cout一下
}
system("pause");
return 0;
}
第二种创建方式
#include <iostream>
using namespace std;
int main()
{
//数组
//2.`数据类型 数组名称 [数组长度] = {数据值 1,数据值 2,...};`
int arr2[5] = { 10,20,30,40,50 }; //创建的时候就把数据值写进去
for (int i = 0; i < 5; i++)
{
cout << arr2[i] << endl;//看看数据,cout一下
}
system("pause");
return 0;
}
第三种方式
#include <iostream>
using namespace std;
int main()
{
//数组
//3.`数据类型 数组名称 [ ] = {数据值 1,数据值 2,...};`
int arr3[] = { 10,20,30,40,50,60,70,80,90,100 }; //创建的时候就把数据值写进去
for (int i = 0; i < 10; i++)
{
cout << arr3[i] << endl;//看看数据,cout一下
}
system("pause");
return 0;
}
好我们讲讲这里面的注意点。
其中每个数组由数组名称
和下标
构成。举个例子:arr[0]
表示arr 数组里面第 1 个数据。其中,arr
就是数组名称,而[0]
就是下标。
每个数组的下标是从0
开始的。
第二种创建方式,也就是需要同时指定数组长度和赋值的那一种。有一些注意事项。
-
如果创建赋值的数量小于创建数组的长度,那么剩余的没赋值的元素默认是 0.
int main() { int arr4[5] = { 10,20,30 }; for (int i = 0; i < 5; i++) { cout << arr4[i] << endl; } system("pause"); return 0; }
那么,运行结果是:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
10 20 30 0 0 请按任意键继续. . .
-
如果创建赋值的数量大于创建数组的长度,那么会报错。
int main() { int arr4[5] = { 10,20,30,40,50,60 }; for (int i = 0; i < 5; i++) { cout << arr4[i] << endl; } system("pause"); return 0; }
恭喜没有运行结果,因为报错......
-
数组的长度必须是整型常数或者
const
数值,当然也可以是常量的表达式。#include
using namespace std; int main() { int arr1[10 * 8]; cout << "arr1 的数组中有" << sizeof(arr1) / sizeof(arr1[0]) << "个元素" << endl; int arr2[10 * sizeof(int)]; cout << "arr2 的数组中有" << sizeof(arr2) / sizeof(arr2[0]) << "个元素" << endl; const int a = 10; int arr3[a]; cout << "arr3 的数组中有" << sizeof(arr3) / sizeof(arr3[0]) << "个元素" << endl; return 0; } 运行结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
arr1 的数组中有80个元素 arr2 的数组中有40个元素 arr3 的数组中有10个元素
定义数组的时候,必须有初始的数组长度(第三种会自动计算其实.....),所以不能这样定义数组 int arr = {1,2,3}
(特别提示,这样是错误的。不要模仿)!!!
注意,c++中数值比如arr[-1]
无法访问。
- 如果创建一个
int arr[5];
,那么访问数据只可以arr[0]
arr[1]
arr[2]
arr[3]
arr[4]
。
数组名称不要和变量重名,并且要满足变量命名规则[..\01 c++初识\06 标识符命名规则.md](..\01 c++初识\06 标识符命名规则.md)(如果忘记自行翻笔记)
:-)