#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;
}
