C语言指针数组里面储存的是常量还是变量

1、指针:指针相当于一个变量,但是它和不同变量不一样,它存放的是其它变量在内存中的地址。

2、这样赋值是错误的:p=a;因为p是个不可知的表示,只存在p[0]、p[1]、p[2]...p[n-1],而且它们分别是指针变量可以用来存放变量地址。但可以这样*p=a;这里*p表示指针数组之一个元素的值,a的首地址的值。

3、这两个程序都没有错误,没有不允许存放常量的要求。

4、常量和变量是放在不同的段(section)里,程序一旦加载,常量/变量自然都在内存里。

5、数组名是数组的首地址,就是数组中之一个元素的地址,是常量。常量是不能出现在赋值号=左边作为左值的。楼上的都没有解释清楚,说数组名就是指针是错误的,指针是变量,是用来存储变量地址值的变量,而数组名是常量。

C语言指针数组指针怎样理解?

(2)数组指针:它实际上是一个指针,该指针指向一个数组。

数组是用指针方式实现的,但数组值是一个常量,即不能改变数组的首地址,而指针是一个变量,可以改变它的值;如:数组 a和指针p,p=a+1;是合法的,但a=a+1;是不合法的。

该指针指向的内存区就是数组第0号单元,该指针自己占有单独的内存区,注意它和数组第0号单元占据的内存区是不同的。该指针的值是不能修改的,即类似array++的表达式是错误的。

指针数组和数组指针的区别有哪些?

1、指针数组和数组指针的区别主要有以下几点:数组名不可以改变,而指向数组的指针是可以改变的。字符串指针指向的字符串中的字符是不能改变的,而字符数组中的字符是可以改变的。

2、数组指针只是一个指针变量,它占有内存中一个指针的存储空间,而指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。

3、他们的区别是:指针数组,表示的是一个由指针变量组成的数组也就是说其中的元素都是指针变量,而数组指针表示的是这是个指向数组的指针。

指针数组存放的是什么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于指针数组存放的是什么数据类型、指针数组存放的是什么的信息别忘了在本站进行查找喔。