C++ 指针 vs 数组
指针和数组并不是完全互换的
1 #include <iostream>
2
3 using namespace std;
4 const int MAX = 3;
5
6 int main ()
7 {
8 int var[MAX] = {10, 100, 200};
9
10 for (int i = 0; i < MAX; i++)
11 {
12 *var = i; // 这是正确的语法
13 var++; // 这是不正确的
14 }
15 return 0;
16 }
把指针运算符 * 应用到 var 上是完全可以的,但修改 var 的值是非法的。这是因为 var 是一个指向数组开头的常量,不能作为左值。
下面是一个有效的语句,把 var[2] 赋值为 500:
*(var + 2) = 500;