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

数组指针的指向一维数组和二维数组的区别

发布网友 发布时间:2022-04-21 02:49

我来回答

1个回答

热心网友 时间:2022-06-17 13:43

一、指向一维数组的指针变量设一维数组为a[n]
定义方法:*指针变量名即*P
这个p一般指向的一维数组的首地址,即p=a,或者p=&a[0];p,a,&a[0]均指向同一单元,它们是数组a的首地址,也是0号元素a[0]的首地址。p+1,a+1,&a[1]均指向1号元素a[1]。类推可知a+i,a+i,&a[i]。
例子:
main(){  inta[5],i,*pa;  pa=a;  for(i=0;i<5;i++){  *pa=i;  pa++;  }  pa=a;  for(i=0;i<5;i++){  printf(a[%d]=%d\n,i,*pa);  pa++;  }  }  
二、指向二维数组的指针变量设一维数组为a[m][n]
定义方法:(*指针变量名)[长度]即(*P)[n]
“长度”表示二维数组分解为多个一维数组时,一维数组的长度,也就是二维数组的列数。
1、*数组有关概念
注意a[0],a[1],a[2]表示的都是对应那行的数组首地址,和数组名,而不是一个元素
*数组地址的表示方法  设有整型二维数组a[3][4]如下:  0123  4567  891011  设数组a的首地址为1000,各下标变量的首地址及其值如图所示。在第四章中介绍过,C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维数组,即a[0],a[1],a[2]。每一个一维数组又含有四个元素。例如a[0]数组,含有a[0][0],a[0][1],a[0][2],a[0][3]四个元素。数组及数组元素的地址表示如下:a是二维数组名,也是二维数组0行的首地址,等于1000。a[0]是第一个一维数组的数组名和首地址,因此也为1000。*(a+0)或*a是与a[0]等效的,它表示一维数组a[0]0号元素的首地址。也为1000。&a[0][0]是二维数组a的0行0列元素首地址,同样是1000。因此,a,a[0],*(a+0),*a,&a[0][0]是相等的。同理,a+1是二维数组1行的首地址,等于1008。a[1]是第二个一维数组的数组名和首地址,因此也为1008。&a[1][0]是二维数组a的1行0列元素地址,也是1008。因此a+1,a[1],*(a+1),&a[1][0]是等同的。由此可得出:a+i,a[i],*(a+i),&a[i][0]是等同的。此外,&a[i]和a[i]也是等同的。因为在二维数组中不能把&a[i]理解为元素a[i]的地址,不存在元素a[i]。  C语言规定,它是一种地址计算方法,表示数组a第i行首地址。由此,我们得出:a[i],&a[i],*(a+i)和a+i也都是等同的。另外,a[0]也可以看成是a[0]+0是一维数组a[0]的0号元素的首地址,而a[0]+1则是a[0]的1号元素首地址,由此可得出a[i]+j则是一维数组a[i]的j号元素首地址,它等于&a[i][j]。由a[i]=*(a+i)得a[i]+j=*(a+i)+j,由于*(a+i)+j是二维数组a的i行j列元素的首地址。该元素的值等于*(*(a+i)+j)。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
右附件包块怎么治疗? 右侧附件区见混合性包块回声、大小约4 .9*4。8cm.包膜完整、内可见不... 网络学术资源网络学术资源的获取途径 请问:正式出版物一定是合法出版物吗? 正式出版发行的期刊有哪些 玉米莲藕排骨汤怎么做才好吃 电脑开机进入不了BOSS, 怎么关闭苹果手机的自动备份功能 钢结构制作与安装的阶段和要点 钢结构设计的基本概念、关键步骤和应用 中广欧特斯空气源热泵热风机GN-30DWADBP4 空气能取暖150平方需要多大的 小松鼠空气源热泵热风机风扇朝北顶风费电吗? 变频空气能热泵热风机与传统供暖的区别和优势有哪些 格力火凤凰空气源热泵热风机制冷费电还是制热费电? 热风机每小时耗电量是多少? 用空气能热泵来采暖,一年要用多少电费? 空气能热泵的耗电量一般为一小时多少度? 全直流变频低温空气源热泵热风机一小时时多少度电? 空气源热泵机组费电吗? 空气能热风机会不会很费电啊? 空气能热泵机组的耗电量一般为多少? 低温空气源热泵热风机和空调哪个省电 空气源热泵采暖机组的耗电量一般多少? 404 Not Found 苹果手机拍照清晰度设置在哪里设置 微信红包怎么收不到了怎么办 请问网络教育平常作业和考试的题目是什么形式? 中华英才网的在线测评考试是什么题型? 铁塔公司的笔试是线上形式吗? 如何用C语言编写一程序,实现对两个字符串进行比较,然后输出两个字符串中第一个不同字符的ASCII码之差 VB中的二维数组和一维数组有什么区别? C语言中二维数组与一维数组的不同 php 一维数组、二维数组、多维数组区别详解 求教c语言中的一维数组和二维数组及多维数组的区别。 请问,什么叫一维数组和二维数组呢? 父亲写给孩子的话 父亲写给女儿20岁生日寄语 爸爸写给儿子的寄语 父亲写给儿子的信经典有哪些? 父亲写给儿子励志短句 父亲写给儿子的人生忠告 父亲写给女儿的一封信,读后泪崩:结婚后,你便不再是我女儿,为什么? 最伤感的遗言(简单)父亲写给儿女的遗言 父亲写给儿子十八岁成人礼的一封信怎么写 父亲写给儿子的劝学信 写给父亲的诗句有哪些? 身份证过期微信收不了红包怎么办? 父亲写给女儿的一份信 求父亲写给女儿生日的诗词