cpp一维数组数组名

02-2 一维数组数组名

一维数组名称的用途:

前排提示:在笔记中,创建数组的意思就是声明数组

  1. 统计整个数组在内存中的占用长度(使用 sizeof关键字。可以翻笔记[sizeof关键字](..\02 数据类型\02 sizeof关键字.md))
  2. 可以获取数组在内存中的首地址。(数组的首地址就是数组中第一个元素的地址其实......)(直接打印数组名称即可)
int arr[] = {1,2,3,4,5};
//统计整个数组占用长度(使用 sizeof 关键字)
cout << sizeof(arr) << endl;//整个数组占用的大小
cout << sizeof(arr[0]) << endl;//某个元素所占内存空间
cout << sizeof(arr)/sizeof(arr[0]) << endl;//整个数组长度除以单个元素长度等于元素个数
cout << arr << endl;//查询首地址(16 进制的数)
cout << &arr[0] << endl;//查询某个元素的地址

运行一下:结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

20
4
5
0000003987B9F7B8
0000003987B9F7B8
请按任意键继续. . .

小声:如果首地址看不懂,可以强行转成 10 进制的数字。在arr前强行加上(int)。比如这样:

cout << (int)arr << endl;
cout << (int)&arr[0] << endl;

运行结果:(当然内存位置不是固定的哈)(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

832174984
832174984

如何理解数组的“连续的内存空间”?([数组笔记](.\01 数组.md))

我们先创建一个数组,然后分别打印每个元素的内存地址。

int arr1[] = {1,2,3,4,5,6,7,8,9,0};
for (int i = 0;i < 10;i++)
{
    cout << (int)&arr1[i] << endl;
}

结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

-1548289640
-1548289636
-1548289632
-1548289628
-1548289624
-1548289620
-1548289616
-1548289612
-1548289608
-1548289604

每个内存空间差 4 字节,正好对应 int 所占空间大小([int笔记](..\02 数据类型\01 整型.md))

注意:数组名称是常量,是不可以修改的。数组的元素是变量,是可以修改的。

int arr[] = {1,2,3};
//arr = asfaf;  (这是报错的,不可以修改数组名称,这是一个常量)
arr[0] = 10; //可以,元素是变量

在py中,有for i in range 或者直接 for i in arr。而在c++中是没有的(其实也不是没有,后续说明)。

那么可以这样试试:

#include <iostream> 
using namespace std;
int main()
{
    int arr [] = {1,2,3,4,5,6,7,8,9,7,6,5,4,3,5,6,2,4,6,3,2,4,6,7,4,2,4,6,7,8,4};
    int formax=sizeof(arr)/sizeof(arr[0]);
    for (int i=0;i<formax;i++)
    {
        cout<<arr[i]<<endl;
    }
    system("pause");
    return 0;
}

好我们接着说在c++中像py一样的for在数组里的方法:(谢谢我子佳)

加上头文件#include <array> 然后创建数组的方法是array <数据类型 ,数组长度> 数组名称{元素}

之后可以 for (auto 变量名称 : 数组名称)

#include <iostream> 
#include <array>
using namespace std;
int main()
{
    array <int,5> arr{ 1,2,3,4,5 };
    for (auto i : arr)
    {
        cout << i << endl;
    }
    system("pause");
    return 0;
}

结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

1
2
3
4
5
请按任意键继续. . .

这边先写着吧。说不定以后会用上(?)

文章「cpp一维数组数组名」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/700」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇