C++学习 1 数组

 

一维数组:

  定义:1、数据类型 数组名 [ 数组长度 ];

int arr [5];
//赋值 arr[
0]=10; arr[1]=20; arr[2]=30; arr[3]=40; arr[4]=50;

 

     2、数据类型 数组名 [ 数组长度 ] = {1,2,3};

int arr2[5]={10,20,30,40,50};
cout << arr2[0] << endl;
cout << arr2[1] << endl;
cout << arr2[2] << endl;
cout << arr2[3] << endl;
cout << arr2[4] << endl;

 

     3、数据类型 数组名 [ ] = {1,2,3};

int arr3[]={10,20,30,40,50};

 

  特点:1、放在一块连续的内存空间;

     2、数组中每个元素都是相同的数据类型;

数组名用途:

复制代码
#include<iostream>
using namespace std;
int main()
{
    //数组名用途:
    
    //1、可以通过数组名统计整个数组占用内存大小
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    cout << "整个数组占用内存空间大小为:" << sizeof(arr) << endl;
    cout << "每个元素占用内存大小为:" << sizeof(arr[0]) << endl;
    cout << "数组中的元素个数为:" << sizeof(arr) / sizeof(arr[0]) << endl;

    //2、可以查看数组首地址
    cout << "数组首地址为:" << (int)arr << endl;    //(int)arr是将地址强制转换为int类型
    cout << "数组中第一个元素的地址为:" << (int)&arr[0] << endl;      //&arr[0] 是取址 取arr[0]的地址
    return 0;
}
复制代码

 二维数组:

  定义:1、数据类型 数组名 [行数] [列数];

        2、数据类型 数组名 [行数] [列数]={{1,2},{3,4}};

        3、数据类型 数组名 [行数] [列数]={1,2,3,4};

        4、数据类型 数组名 [ ] [列数]={1,2,3,4};

  二维数组数组名:

    1、查看二维数组所占内存空间

    2、获取二维数组首地址

  实例:

复制代码
#include<iostream>
using namespace std;

int main()
{
    //二维数组名称用途

    //1、可以查看二维数组所占内存空间
    int arr[2][3] =
    {
        {1,2,3},
        {4,5,6}
    };
    cout << "二维数组占用内存空间大小为:" << sizeof(arr) << endl;
    cout << "二维数组第一行占用内存空间大小为:" << sizeof(arr[0]) << endl;  //arr[0]: 0 表示第一行
    cout << "二维数组第一个元素占用内存空间大小为:" << sizeof(arr[0][0]) << endl;  //arr[0][0]: [0][0]表示第一行第一个元素

    cout << "二维数组行数为:" << sizeof(arr) / sizeof(arr[0]) << endl;    // 占用内存空间总大小 / 第一行占用内存空间大小 = 数组行数
    cout << "二维数组列数为:" << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;   // 第一行占用内存空间大小 / 第一行第一个元素占用内存空间大小 = 数组列数

    //2、可以获取二维数组首地址

    cout << "二维数组首地址为:" << (int)arr << endl;   //直接输出arr就行,加(int)是将16进制强转为10进制
    cout << "二维数组第一行首地址为:" << (int)arr[0] << endl;   //打印结果为14089360
    cout << "二维数组第二行首地址为:" << (int)arr[1] << endl;   //打印结果为14089372   所差的12字节为第一行的3个整型所占字节 即第二行数组的地址紧挨着第一行

    cout << "二维数组第一个元素首地址为:" << (int)&arr[0][0] << endl;   //打印结果为14089360
    cout << "二维数组第二个元素首地址为:" << (int)&arr[0][1] << endl;   //打印结果为14089364

    system("pause");
    return 0;
}
复制代码

 

posted @   大白不会敲代码  阅读(108)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示