请打开123720的网站百度,企业网站建设培训,上海发布首页,中信建设证券网站我们知道指针可以自增1/自减1#xff0c;如下面这个代码是没问题的
int *var;
var;
但如果var是指向数组的指针#xff0c;那么var是非法的#xff0c;如下面例子
#include iostreamusing namespace std;
const int MAX 3;int main ()
{int var[MAX] {10, 10…我们知道指针可以自增1/自减1如下面这个代码是没问题的
int *var;
var;
但如果var是指向数组的指针那么var是非法的如下面例子
#include iostreamusing namespace std;
const int MAX 3;int main ()
{int var[MAX] {10, 100, 200};for (int i 0; i MAX; i){*var i; // 这是正确的语法var; // 这是不正确的}return 0;
}
把指针运算符 * 应用到 var 上是完全可以的但修改 var 的值是非法的。这是因为 var 是一个指向数组开头的常量不能作为左值。var会修改var的地址但var 只能是指向数组第一个元素的指针不能修改。
但是下面代码是允许的
*(var 2) 500;