C语言中数组名和指针的区别
3个回答
展开全部
数组名本质上就是个指针,也就是地址,但是它是一个常指针,是个固定值,而指针是是指针变量的简称,是个变量,这个变量存放的是地址值,它的值是可以改变的。例如:
int *p;
int a,b;
p=&a; //把变量a的地址赋值给指针p,那么指针p就指向了变量a的内存单元
p=&b; //把变量b的地址赋值给指针p,那么指针p就指向了变量b的内存单元
int a[10]; //整型数组,数组名a本质上是一个地址,是首元素地址,它是一个固定值,不能对它进行赋值操作。
展开全部
数组在当作参数传递时,可以当作指针;当然,参数传递相当于赋值操作,所以用指针来接受数组的值也是可以的。
除此之外,指针就是指针,数组就是数组,一点也不一样,例如
1,数组名不能作为左值,即不能被赋值,也不能进行++ --操作
2,sizeof 数组名 和 sizeof 指针 不同
除此之外,指针就是指针,数组就是数组,一点也不一样,例如
1,数组名不能作为左值,即不能被赋值,也不能进行++ --操作
2,sizeof 数组名 和 sizeof 指针 不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询