3.3重学C++之【二维数组应用、案例】

#include<iostream>
#include<string>
using namespace std;



int main(){
    /*
        二维数组的数组名
        查看二维数组所占内存空间
        获取二维数组首地址
    */


    // 1
    int arr[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };
    cout << sizeof(arr) << endl;  // 4*6=24
    double _arr[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };
    cout << sizeof(_arr) << endl;  // 8*6=48

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


    // 2
    cout << "二维数组的首地址:" << arr << endl;
    cout << "二维数组的首地址:" << (int)arr << endl;
    cout << "二维数组第一行的首地址:" << (int)arr[0] << endl;
    cout << "二维数组第2行的首地址:" << (int)arr[1] << endl;
    cout << "二维数组第一个元素的首地址:" << (int)&arr[0][0] << endl; // 注意用&(取址符)取数组元素地址
    cout << endl;




    /*
        案例--二维数组
        考试成绩统计
    */
    int scores[3][3] = {
        {100, 100, 100},
        {90, 50, 100},
        {60, 70, 80}
    };
    string names[3] = {"张三", "李四", "王五"};
    for (int i=0; i<3; i++){
        int sum = 0; // 统计每个学生的总分
        for (int j=0; j<3; j++){
            //cout << scores[i][j] << " ";
            sum += scores[i][j];
        }
        cout << "第" << i+1 << "个学生" << names[i] << "的总分=" << sum << endl;
        //cout << endl;
    }



    return 0;
}

posted @   yub4by  阅读(51)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示