提交 d6bdcfe1 编写于 作者: W wsb

增加多维数组、参数数组的使用演示!

上级 10ecdba3
#include <iostream>
#include <array>
//定义一个函数,把数组作为参数,并返回数组指针(其实就是返回数组的第一个元素地址,然后使用方就可以使用指针遍历数组了)
int *arrayP(int *array1,int *array2);
//定义数组: 作用是以数组的形式返回两个数组的长度
int *arrayP(int array1[],int array2[]){
//求取两个数组的长度,放入静态数组中,不能是临时数组,不然会造成空指针异常
static int temp[]={sizeof(array1)/sizeof (array1[0]),sizeof(array2)/sizeof (array2[0])};
//返回数组
return temp;
}
int main() {
......@@ -25,5 +37,35 @@ int main() {
std::cout<<"array的元素为:"<<array[i]<<",";
}
//多维数组的使用: 其本质就是多个一维数组的组合使用
int array3[2][2]={{12,22},{33,44}}; //申明一个二位数组,共有四个元素,相当于两个一维数组
//访问二位数组的元素
int array3First=array3[0][0]; //访问二位数组的第一个元素
std::cout<<"二维数组的第一个元素是:"<<array3First<<std::endl;
//遍历二维数组: 常用的方法是使用嵌套的for循环
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 2; ++j) {
std::cout<<"二维数组的所有元素如下:"<<array3[i][j]<< std::endl;
}
}
//使用一个指向数组的指针
int *p=array; //p指针默认指向数组第一个元素的内存地址
//使用指针遍历数组
for (int i = 0; i < 4; ++i) {
std::cout<<"指针遍历数组结果"<<*(p+i)<<std::endl; //取出指针指向的内存地址的值,只需在指针前面在加上*即可。
}
//使用参数为数组的函数
auto newArray=arrayP(array,array2);
//遍历返回的数组元素
for (int i = 0; i < sizeof( newArray)/ sizeof(newArray[0]); ++i) {
std::cout<<"array和array2的数组长度分别为:"<<newArray[i]<<std::endl;
}
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册