![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[1] 地址的表达式是( )。
展开全部
选择答案C,a++表示的是先去a的值,然后再进行加1的操作,也就是说因此a++表示a[0]的地址,但是它错误的主要原因是因为a是数组的首地址,是一个常量不能够改变,这是错误的主要原因,如果能改变也是a[0]的地址不会是a[1]的地址。
p+1,a+1,++p(先进行自加的操作再取值,所以可以表示a[1]的地址),所以a++不对,所以选择答案C。
扩展资料:
数组中的元素与结构或类中的字段的区别:
数组中的所有元素都具有相同类型。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。
类型:
数组元素并非只能是基元数据类型,还可以是结构、枚举或类。
数组使用规则:
数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
数组名的书写规则应符合标识符的书写规定。
数组名不能与其它变量名相同。
数组的首地址是一个常量,不可以对数组首地址进行赋值操作。
后缀“++”运算符和前缀“++”的区别:
后缀的“++”,先引用再进行加一操作,前缀的“++”,先进行加一操作然后再进行引用。
展开全部
C、 a++ //表示先取a的值,再使a加1。因此a++表示a[0]的地址,且数组名是常值指针,不能修改其值。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C
C表达式根本就不合法,数组名不是可修改的左值,不可作为自增运算符操作数
追问
能说的详细点吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询