c中二维数组的初始化,访问,赋值,函数形参的使用方式
2012-11-11 22:01
344 查看
原帖请见
1,对二维数组的原理介绍http://see.xidian.edu.cn/cpp/biancheng/view/44.html
2,使用二维数组的方法http://blog.csdn.net/xuleicsu/article/details/919801, http://www.cnblogs.com/bigshow/archive/2009/01/03/1367661.html
值得注意的是: 二维数组第二维度的初始化方式,如果是按每一行分配内存的话,可能每一行的地址不连续,使用*((int*)array + n*i + j)的方式访问元素可能会出错,必须使用arrar[i][j]的方式访问,保证array是二级指针。
1,对二维数组的原理介绍http://see.xidian.edu.cn/cpp/biancheng/view/44.html
2,使用二维数组的方法http://blog.csdn.net/xuleicsu/article/details/919801, http://www.cnblogs.com/bigshow/archive/2009/01/03/1367661.html
值得注意的是: 二维数组第二维度的初始化方式,如果是按每一行分配内存的话,可能每一行的地址不连续,使用*((int*)array + n*i + j)的方式访问元素可能会出错,必须使用arrar[i][j]的方式访问,保证array是二级指针。
初始化方法如下: (1)int m[3][3]; for(int i = 0; i < 3; i++) for(int j = 0; j < 3; j++) m[i][j] = 0; (2)int **m = new int*[3]; for(int i = 0; i < 3; i++) { m[i] = new int[3]; for(int j = 0; j < 3; j++) m[i][j] = 0; } (3)int *m[3]; int **m = new int*[3]; for(int i = 0; i < 3; i++) { m[i] = new int[3]; for(int j = 0; j < 3; j++) m[i][j] = 0; } 第二种写法和第三种写法本质上一样的,指向指针的指针其实就是指针的数组
相关文章推荐
- 指针数组的初始化方式和和用二维数组做形参
- 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的
- JavaScript函数参数使用带参数名的方式赋值传入的方法
- 一维数组和二维数组的创建、初始化、使用、存储、指针访问
- C++ 函数使用形参传入二维数组实参的方法
- TCP/IP - 2.3 使用协议族的函数表初始化socket
- 使用.NE平台调用服务访问非托管 DLL 中的函数
- 条款 12: 尽量使用初始化而不要在构造函数里赋值
- modelsim使用系统函数初始化指令存储器
- 二维数组的两种访问方式
- 【Java】类赋值的使用方式
- 使用文件操作函数实现简单的CP、cat、size功能及读取文件内容初始化结构体
- 使用ssh 访问越狱iPhone的两种方式
- 若干种使用指针输出二维数组中元素的方式
- python里使用正则表达式的groups()函数访问组匹配串
- effective C++笔记之条款12: 尽量使用初始化而不要在构造函数里赋值
- 浏览器分别在哪些情况下使用get方式和post方式访问web服务器
- android使用get方式访问服务器
- 二维数组的初始化(二维数组的赋值)
- cublas中执行矩阵乘法运算的函数 首先要注意的是cublas使用的是以列为主的存储方式,和c/c++中的以行为主的方式是不一样的。处理方法可参考下面的注释代码