数组名

int a[] = {1,2,3};

a作为右值时,意义同&a[0]。即数组首元素首地址;

&a[0],数组第一个元素地址

&a,整个数组地址

 

/*
①统计整个数组在内存中的长度:"元素个数" sizeof(arr) / sizeof(arr[0])
②获取数组首地址:
数组名是首元素首地址
//二维数组数组名arr代表第一个一维数组的指针(一维数组的数组名指的是第一个元素的地址,&数组名 代表整个数组的地址)
*/

-----------------------------一维数组----------------------------------

int main()
{

//数组名不可以赋值
int arr[5] = { 0,2,3,4,5 };
int a = sizeof(arr[0]);
cout << "内存空间" << sizeof(arr) << endl;
cout << "单个元素内存空间" << sizeof(arr[0]) << endl;
cout << "元素个数" << sizeof(arr) / sizeof(arr[0]) << endl;
cout << "数组首地址" << (int)arr << endl;
cout << "数组第一个元素地址" << (int)&arr[0] << endl;

cout << "------------------" << endl;

cout << *arr << endl;

system("pause");
return 0;
}

--------------------------------二维数组----------------------------------

/*
二维数组定义方式:推荐第2种

1、数据类型 数组名[行数][列数];
2、数据类型 数组名[行数][列数] = { {},{}…… };
3、数据类型 数组名[行数][列数] = { 数据1,数据2…… };
4、数据类型 数组名[][列数] = { 数据1,数据2…… };
*/
//二维数组名:
//查看二维数组所占空间
//获取二维数组首地址

//二维数组数组名arr代表第一个一维数组的指针(一维数组的数组名指的是第一个元素的地址,&数组名 代表整个数组的地址)

int main()
{

int arr[2][3] = { {1,2,3},{4,5,6} };

for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
for (int j = 0; j < sizeof(arr[0]) / sizeof(arr[0][0]); j++) {
cout << arr[i][j] << "\t";
}
cout << endl;
}

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

cout<< "--------------------------------------" << endl;

cout << "二维数组的首地址:" << (int)arr << endl;
cout << "二维数组的第一行首地址:" << (int)arr[0] << endl;
cout << "二维数组的第一个元素地址:" << (int)arr[0][0] << endl;

cout << "--------------------------------------" << endl;

cout << (arr[0] == *arr) << "" << endl; //true
cout << typeid(arr[0]).name() << endl;
cout << typeid(arr).name() << endl;

//cout << typeid(arr[0]).name()<< endl;
cout << **arr << endl;
cout << arr[0]<< endl;


system("pause");
return 0;
}

posted @ 2020-09-28 11:33  点|滴  阅读(3)  评论(0)    收藏  举报