接上文,开始二维动态数组的学习。 这篇博客讲述了三个方法…真的脑洞大开 https://blog.csdn.net/qq_41822235/article/details/81142107 百度了很多方法,大多是这样的思路:不能像普通的二维数组同时分配行和列,要按维分配。 我就采用网上最常见的方法,用二维指针,也就是…指针的指针?
步骤一 1.先来补一波指针再说C语言指针是什么?1分钟彻底理解C语言指针的概念
2.一分钟过后自信的去看C语言二级指针(指向指针的指针)详解 记录某个地址的指针自然在内存空间里有它的一席之地,自身也存在一个地址,指针的指针就是读取这个地址。
步骤二梳理思路(来自某度): 1 定义二维指针。
2 确定数组维数,即行数和列数。
3 申请行数个一维指针大小空间,并赋值给二维指针。
4 对于每个一维指,申请列数个元素的空间,并赋值给对应的一维指针。
5 输入或赋值数据。
6 使用双重循环,逐个范围存储单元并输出。
7 逐个释放一维指针上的内存。
8 释放二维指针上的内存。 大致代码如下
#include //包含输入输出函数#include //包含动态内存分配函数。 int main(){ int **p; //定义二维指针。 int m, n;//行数和列数。 int i,j; scanf("%d%d", &m, &n); //输入行数和列数。 if(m