C++数组指针不能自增1/自减1
生活随笔
收集整理的這篇文章主要介紹了
C++数组指针不能自增1/自减1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們知道指針可以自增1/自減1,如下面這個代碼是沒問題的
int *var; var++;但如果var是指向數(shù)組的指針,那么var++是非法的,如下面例子
#include <iostream>using 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; }把指針運算符 * 應(yīng)用到 var 上是完全可以的,但修改 var 的值是非法的。這是因為 var 是一個指向數(shù)組開頭的常量,不能作為左值。var++會修改var的地址,但var 只能是指向數(shù)組第一個元素的指針,不能修改。
但是下面代碼是允許的
*(var + 2) = 500;?
總結(jié)
以上是生活随笔為你收集整理的C++数组指针不能自增1/自减1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UserWarning: The def
- 下一篇: C++ priority_queue对链