c语言中的数组和指针的区别

 我来答
tulilang123456
2011-11-27 · TA获得超过100个赞
知道答主
回答量:17
采纳率:0%
帮助的人:16万
展开全部
指针可分为:指针常量,指针变量。指针常量是指在程序运行过程中变量值不能改变的变量(例如:char* const p = "abc";)。指正变量是指在程序运行过程中变量值可以改变的变量(int * p;p++;)。
数组:数组是装载的容器,数组名代表数组首地址(例如:int a[20],则a代表的是a[0]的地址),数组名是一个指针常量,在运行过程中不能改变其值(如上:a的值是&a[0],若有a=&a[2]:则报错)。
他们的区别:数组名是一个指针常量,而指针可分为:指针常量和指针变量。
我想你应该明白了。
百度网友b452582
2011-11-27 · TA获得超过2581个赞
知道小有建树答主
回答量:953
采纳率:100%
帮助的人:318万
展开全部
C语言中,数组的名称等价于数组的首地址,
当然可以利用指针开辟动态空间,使用方式与数组在形式上相同的,
但是他们有一个本质的区别,数组名相当于一个地址常数,而指针是一个以地址为内容的变量。
指针与数组的关系可以参考下面的网页:

http://zhidao.baidu.com/question/341950481.html
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tidecao2006
2011-11-27 · TA获得超过1228个赞
知道小有建树答主
回答量:842
采纳率:0%
帮助的人:777万
展开全部
定义char a[100], *b = a;
1、数组和指针都表示地址,在某些情况下,数组和指针是可以相互使用的,如访问某个元素,a[2], *(a + 2), b[2], *(b +2)
2、不同的是,数组初始化时就有给定值的空间,标识符不能更改,如a = 0,这是错误的。而指针如果不初始化,值是随机的,需要给指针分配空间才能访问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1a2d3e
2011-11-27 · TA获得超过537个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:330万
展开全部
数组是存放数据的一段空间,数组中可以存放字符和数字。指针相当于一个地址,它是指向某个单元的地址。。数组名相当于指针。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平静且灵敏的小牛j
2011-11-27
知道答主
回答量:22
采纳率:0%
帮助的人:9.4万
展开全部
数组名是数组的第一个元素的地址,其意义相当于一个指针,比如
int a[10],*p;
p=a; //把数组的首地址赋给了p
p=&a[0]; //p的初值为a[0]的地址与上面的语句等价
可以通过指针引用数组元素
数组本来就有两种表示方法
一种是下标法如a[i];
一种是指针法如*(a+i)或*(p+i)这两种表示方法都与a[i]等价
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式