普通数组就是有符号。C89标准就是这样了。
C89的这段大概率是从汇编来的,
比如A[B],标准要求A和B中一个是指针或者能转成指针,另一个是整数。
所以a[-1], (-1)[a], *(a-1), *(-1+a)都是等价的。
你看看汇编就是把数字放在括号外边:
movq $0, -48(%rbp)
后面的这个-48(%rbp)就相当于C语言里的数组访问。
【 在 telangpujing 的大作中提到: 】
: a[-1] 是 访问a[2^32 -1]?
--
修改:codeAnimal FROM 58.220.71.*
FROM 222.190.253.*