二维数组的内存地址解析

作者: dopami | 来源:发表于2019-08-20 23:00 被阅读0次

代码:

#include <iostream>

using namespace std;

int main(void)

{

int m, n;

int i, j;

int **p;

cout<<"please input the row and col:"<<endl;

cin >> m >> n;

//scanf("%d%d", &m, &n);

p = (int**)malloc(sizeof(int*)*m); //开辟行 

for (i = 0; i < m; i++)

cout << "p"<<i<<" address is "<<p +  i << endl;

for (i = 0; i < m; i++)

{

*(p + i) = (int*)malloc(sizeof(int)*n);//开辟列 

}

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++)

{

cout << &p[i][j]<<" ";

}

cout << endl;

}

//释放开辟的二维空间 

for (i = 0; i < m; i++)

{

free(*(p + i));

}

system("pause");

return 0;

}

结果:

解析:

p = (int**)malloc(sizeof(int*)*m); //开辟行 

这一句的时候,p0, p1, p2 本身并不是每行的首地址,p0, p1, p2中存放的内容为每行首地址, 而且行与行之间的地址并不一定连续。

相关文章

  • 二维数组的内存地址解析

    代码: #include using namespace std; int main(void) { int m,...

  • php实现冒泡排序

    原数组 思路解析 按照二维数组中某个值大小排序 原数组 冒泡排序的实现

  • Java数组内存地址解析

    包装类(wrapper class)。针对于原生数据类型的包装。所有的包装类(8个)都位于Java.lang包下。...

  • 将歌词lrc解析为二维数组

    将歌词lrc解析为二维数组,去掉歌词中没有时间的广告文字

  • Day08

    二维数组 二维数组格式 二维数组初始化 二维数组的遍历 二维数组内存存储细节 二维数组与函数注意点: 主要是看函数...

  • 面试题12-回溯法

    题目要求 现在有一个二维数组,元素为字符。求能否在二维数组中得到一条通路连接的元素为给定的字符串。 题目解析 思路...

  • 二维数组解析

    第一个model +(NSMutableArray *)categoryGoodsList:(NSArray *)...

  • Android开发中处理Webservice的接口

    SoapObject解析成List二维数组 最近和Webservice对接接口,接到需求我乃一...

  • PHP 工具之数组

    二维数组值 二维数组翻转 二维数组转置

  • 笔记:二维数组,字符串,指针

    #mark- 01-二维数组基本概念 //问题:什么是二维数组?二维数组的格式?二维数组如何存储?二维数组是如何遍...

网友评论

    本文标题:二维数组的内存地址解析

    本文链接:https://www.haomeiwen.com/subject/nlfvsctx.html