11问答网
所有问题
c语言中的数组和指针的区别
如题所述
举报该问题
推荐答案 2011-11-27
指针可分为:指针常量,指针变量。指针常量是指在程序运行过程中变量值不能改变的变量(例如:char* const p = "abc";)。指正变量是指在程序运行过程中变量值可以改变的变量(int * p;p++;)。
数组:数组是装载的容器,数组名代表数组首地址(例如:int a[20],则a代表的是a[0]的地址),数组名是一个指针常量,在运行过程中不能改变其值(如上:a的值是&a[0],若有a=&a[2]:则报错)。
他们的区别:数组名是一个指针常量,而指针可分为:指针常量和指针变量。
我想你应该明白了。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/8S4M2FM24.html
其他回答
第1个回答 2011-11-27
C语言中,数组的名称等价于数组的首地址,
当然可以利用指针开辟动态空间,使用方式与数组在形式上相同的,
但是他们有一个本质的区别,数组名相当于一个地址常数,而指针是一个以地址为内容的变量。
指针与数组的关系可以参考下面的网页:
http://zhidao.baidu.com/question/341950481.html
本回答被网友采纳
第2个回答 2011-11-27
定义char a[100], *b = a;
1、数组和指针都表示地址,在某些情况下,数组和指针是可以相互使用的,如访问某个元素,a[2], *(a + 2), b[2], *(b +2)
2、不同的是,数组初始化时就有给定值的空间,标识符不能更改,如a = 0,这是错误的。而指针如果不初始化,值是随机的,需要给指针分配空间才能访问。
第3个回答 2011-11-27
数组是存放数据的一段空间,数组中可以存放字符和数字。指针相当于一个地址,它是指向某个单元的地址。。数组名相当于指针。。
第4个回答 2011-11-27
数组名是数组的第一个元素的地址,其意义相当于一个指针,比如
int a[10],*p;
p=a; //把数组的首地址赋给了p
p=&a[0]; //p的初值为a[0]的地址与上面的语句等价
可以通过指针引用数组元素
数组本来就有两种表示方法
一种是下标法如a[i];
一种是指针法如*(a+i)或*(p+i)这两种表示方法都与a[i]等价
1
2
下一页
相似回答
C语言中数组
名
和指针的区别
答:
数组名本质上就是个指针,也就是地址,但是它是一个常指针,是个固定值,而指针是是指针变量的简称
,是个变量,这个变量存放的是地址值,它的值是可以改变的。例如:int *p;int a,b;p=&a; //把变量a的地址赋值给...
大家正在搜
c语言中行指针与指针数组的区别
c语言指针数组和数组指针
c语言指针和数组的区别
c语言中指针与数组的区别与联系
c语言中指针和数组的应用
c语言数组和指针的关系
c语言中指针数组的使用方法
c语言中指针指向数组
c语言指针和数组的转换
相关问题
C语言中,指针和数组的区别和联系?
c语言中的指针数组和数组指针的区别
c语言中数组和指针的区别与联系
c语言中数组和指针的差别?
C语言中数组名和指针的区别
C语言中,数组和指针定义在内存方面的区别在哪?
C语言中数组指针*a[]与a[]有啥区别?
c语言中,指针数组和行指针的区别是什么?