遍历二维数组,一维数组。
#include <iostream>
using namespace std;
int main()
{
//int * p = new int[10]; //使用指针创建一维数组
//使用指针创建二维数组
//int (*p2)[3] = new int[5][3]; //降维,把其中一维定义为int型指针
//遍历二维数组
int arrays[5][3] =
{
{1,2,3},
{4,5,6},
{7,8,9},
{10,11,12},
{13,14,15}
};
int (*p2)[3] = arrays;
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 3; j++)
{
// cout << p2[i][j] << ',';
cout << *(*(p2 + i) + j) << ','; //这两种方式都可以
}
cout << endl;
}
//遍历
/*
int arrays[] = {15, 23, 30, 40, 50};
int* p_arrays = arrays;
for(int i = 0; i < 5; i++)
{
// cout << *p_arrays++ << endl;
cout << *(p_arrays + i) << endl; //与上句是一个效果,这样能防止指针随意移动
}
*/
/*//逆序
int arrays[] = {15, 23, 30, 40, 50, 60};
int* ptr_start = arrays; //指向第一个元素
int* ptr_end = arrays + 5; //指向最后一个元素
int temp;
while (ptr_start <= ptr_end)
{
temp = *ptr_start;
*ptr_start = *ptr_end;
*ptr_end = temp;
ptr_start++;
ptr_end--;
}
for(int i = 0; i < 6; i++)
{
cout << arrays[i] << endl;
}
*/
return 0;
}