码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础知识——二维数组做函数参数

时间:2016-05-07 09:07:04      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

1.确定大小的二维数组


void Func(int array[3][10]); 


void Func(int array[][10]); 
2.不确定大小的二维数组转为二维指针:
从实参传递来的是数组的起始地址,在内存中按数组排列规则存放(按行存放),而并不区分行和列,所以可以转换成二维指针。
void Func(int **array, int m, int n); 


调用时候要把数组名转换位二维指针


Func((int**)a, 3, 3); 


获取具体数组元素


*((int*)array + n*i + j); 

:其中 (int *)array把array转换成一维数组的存储方式
然后从一维数组里读取元素。


若*(array + n*i + j);  输出:


00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
00000009
0000000A
0000000B
0000000C
0000000D
0000000E
0000000F
00000010


若*((int*)array + n*i + j); 输出:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


3.最方便的还是转为一维指针。

因为在内存中是连续存放的,所以。。。。。

void Func(int *array, int m, int n); 


调用时候要把数组名转换位二维指针


Func((int*)a, 3, 3); 


获取具体数组元素


*(array + n*i + j); 

C++基础知识——二维数组做函数参数

标签:

原文地址:http://blog.csdn.net/songzige/article/details/51334592

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!