C语言笔记:下标运算符和 [ ] 和数组是没有关系的

笔记创建时间:2018/10/19
p[i] 只不过是 *(p+i) 的 简便写法,除此之外,它毫无意义。(这里的“[ ]”和表达式中的 出现的下标运算符 “[ ]”)
在表达式中,数组都可以被解读成指针
声明中的 “[ ]”,还是表达数组的意思。也就是说,声明中的 “[ ]” 和表达式中的 “[ ]” 意义完全不相同。
表达式中的*和声明中的*的意义也是完全不同的
此外,如果将 a + b 改写成 b + a ,表达式的意义没有发生改变,所以你可以将 * ( p + i ) 写成 * ( i + p ) 。其次,因为 p [ i ] 是 * ( p + i ) 的简便写法,实际上它也可以写成  i [ p ] 。
array[5]==5[array];

实际上,至少对于编译器来说,[ ] 这样的运算符可以完全不存在

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒