分清声明还语句
声明里括号里数字能负例 int a[-2]; 错数组大小能负
语句里括号C/C++ 看成运算符叫标点符号
数组元素和指针有恒等关系:
a[i] == *(a+i)
所i 负 时候a[i] == *(a- fabs(i))只要 a-fabs(i) 地址里 有 数值拿来 运算使用
"多书上说数组下标能负" -- 因初级教材
高级教材里甚至提 a[i] == i[a] 也正确 (有人知道里问过我也回答过)
声明里括号里数字能负例 int a[-2]; 错数组大小能负
语句里括号C/C++ 看成运算符叫标点符号
数组元素和指针有恒等关系:
a[i] == *(a+i)
所i 负 时候a[i] == *(a- fabs(i))只要 a-fabs(i) 地址里 有 数值拿来 运算使用
"多书上说数组下标能负" -- 因初级教材
高级教材里甚至提 a[i] == i[a] 也正确 (有人知道里问过我也回答过)
当只能变量形式能写阿拉伯数字事实上也确确实实正确。
也就是说a所对应的地址 - 1,只要这个地址里面有内容就可以。