c语言中定义数组a与指针*P,则p=a+c-1与*p=&a[c-1]一样吗?

2024-11-06 07:27:54
推荐回答(5个)
回答(1):

一样的,
a是首地址,加上c-1,会根据数组类型type,跳过(c-1)*sizeof(type)个长度,即指向a[c-1]。

回答(2):

肯定不一样了!

回答(3):

char *p之后
*p 这是所指向的内容
p 这是指针
&a[c-1] 这是地址
??? *p=&a[c-1] //这里不合法吧
另外a+c-1 可以指向 数字a的外部
而&a[c-1] 的不能数组越界,否则出错
在不越界时 a+c-1 等价与 &a[c-1] 但是两者计算的方法和顺序是不同的

回答(4):

不一样

回答(5):

一样