问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

二维数组如何用指针表示180

发布网友 发布时间:2024-03-06 12:39

我来回答

5个回答

热心网友 时间:2024-07-24 07:20

二维数组用指针表示有两种方式:

一、动态数组方式。 

完全由动态数据构成二维数组。如M行N列的数组,先分配M个一维指针空间,然后在每个一维指针上分配N个元素的空间,即成为动态二维数组。

和普通数组不同,这种动态二维数组的各行之间地址并不连续。

参考代码:

#include<stdlib.h>
int **create(int m, int n)//创建m行n列的二维数组。
{
    int **r;
    int i;
    r=(int **)malloc(sizeof(int *) *m);//分配m个int*指针内存。
    for(i = 0; i < m; i ++)//遍历每行
        r[i] = (int *)malloc(sizeof(int)*n);//每行分配n个int型元素。
    return r;//返回地址值。
}

二、通过数组指针指向已有二维数组。

对于已经定义好的M行N列数组,可以使用指向N个元素的数组指针,指向该数组并访问。 

参考代码:

int a[10][5];
int (*p)[5];//每行5个元素的数组指针。
p=a;//把p指向a。

热心网友 时间:2024-07-24 07:14

二维数组可以看成是指针的指针,b[][] = **b;
比如b[2][5];
它是一个2行5列的二维数组,也可以看成是二级指针,一级存放的是行指针,然后每个行指针里面其实又是指向了5个列元素。
*(*(b+i)+j),*(b+i)是先取行指针,然后+j偏移到所要的列,然后*取值就得到i行j列的数据了。

热心网友 时间:2024-07-24 07:19

二维数组实质是数组的数组

热心网友 时间:2024-07-24 07:13

* (* (b+i)+j) 中,
* (b+i)是这个数组的行地址,
(* (b+i)+j) 是这个数组的列地址,
整个* (* (b+i)+j)才代表b[i][j]上的内容!

* (b[i]+j) 中,
b[i]就等同于*(b+i),
同理(* (b+i) ) [j]就等同于b[i][j],

不知明白否?

热心网友 时间:2024-07-24 07:17

是这样的,
int b[2][3]={1,2,3,4,5,6};这里假设i=1;
b+1代表移到下一行,但他的类型是(*p)[3](这个你通过把b+1赋值给*p[3],再试一下赋给*p就知道了);第一个星号后代表他指向刚刚移到的那行的第一个元素地址,再+j就是横向移到j列得到b[1][j]的地址,最后一个星号是取他的值.这是我的分析. //如果你不加里面那个星号,就是(b+i)+j,他只会继续向下(行)移动,而不会往列的方向移动的.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 在生产和生活中,人们主要选择现代的交通运输方式,传统的交通运...10 求帮写一篇校庆晚会记叙文800字,谢谢 ...的校园生活写一篇《这里有我的收获》记叙文 800至850字 白色衣服上弄上了桔子皮上的异物要咋么洗掉? 白色的衣服上有异物(黑色的东西),用什么清洁能干净啊? 白色衣服上有异物,该如何处理? 浙江路桥那里有动车站吗?我要从无锡到路桥应该买到哪里的票?_百度知 ... 光纤熔接机出现光纤分离故障是何原因 酷喵会员可以在几台电视上登录。 ...高中物理而以!求竿上的人下滑过程的最大速度和竹竿长度(需过程... 求物理高手,竖直的一杆长为 L求倒下的时间,杆底部固定并可以自由转动... 高中物理 光滑的底面和墙面上有杆AB 若A点以速度v下滑 求B点的速度 ...下端速度为VB,方向水平向右。求中点O的速度 高一物理题,木棍下滑 如何求杆匀速下滑时速度大小 为什么天津话的声音特别像说相声的?30 哪些相声是用天津话说的? 有首歌里面的歌词是onlyonlyonlyonly是一个女的唱的是什么名字谁知道... 普通话与北方方言有什么不同点26 天津话和普通话有什么区别?19 c语言中二维数组的指针如何表示10 二维数组名和指针的关系41 C语言中二维数组行指针是什么78 防撞护栏灯目前在国内实施的工程案例有哪些? 安徽省阜阳市交通违章处理的费用是多少6 阜阳市颍上县交通违章处理时间法律规定有哪些10 阜阳交警直属六大队队长是谁 阜阳市公安局交警投诉热线是多少 从安吉去杭州自驾游的行程可以怎么安排? xp多国语言包如何使用 魅族X2怎么老是自动锁屏? 为什么魅族note突然就闪了一下自动锁屏呢?怎么办 魅族魅蓝note1为什么经常自动锁屏 ...你选一个号码要在开出的20个号码之中,真实概率是多少? (54) 在下列几种排序方法中,要求内存量最大的是___。 A. 插入排序 B... ...归并排序的原理都是是什么?哪个要求内存量最大? ...归并排序,冒泡排序中哪个要求内存量最大?为什么 在下列几种排序方法中,要求买内存量最大的是() A插入排序B选择排序C快速... 口袋妖怪漆黑的魅影茵都镇道馆键子草怎么打 照片怎么添加微信图标和水印