C++数组指针不能自增1/自减1
我们知道指针可以自增1/自减1,如下面这个代码是没问题的
int *var;
var++;
但如果var是指向数组的指针,那么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;
}
把指针运算符 * 应用到 var 上是完全可以的,但修改 var 的值是非法的。这是因为 var 是一个指向数组开头的常量,不能作为左值。var++会修改var的地址,但var 只能是指向数组第一个元素的指针,不能修改。
但是下面代码是允许的
*(var + 2) = 500;
C++数组指针不能自增1/自减1相关推荐
- 关于C语言中的数组指针、指针数组以及二级指针
概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...
- C++ 笔记(14)— 指针(指针声明、取地址、取值、new/delete、NULL指针、指针运算、指针数组、数组指针、指针传递给函数、从函数返回指针)
1. 声明指针 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址.就像其他变量或常量一样,您必须在使用指 针存储其他变量地址之前,对其进行声明. 指针变量声明的一般形式为: type * ...
- C指针4:数组指针(指向数组的指针)
先明确两个概念:(1和2是两个完全不一样的东西) 1.数组指针:如果一个指针指向了数组(该数组就是普通定义的数组),我们就称它为数组指针(Array Pointer).(1强调的是指针) 2.指针数组 ...
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- delphi7存储过程传入数组_C++中的指针、数组指针与指针数组、函数指针与指针函数...
本文从初学者的角度,深入浅出地详解什么是指针.如何使用指针.如何定义指针.如何定义数组指针和函数指针,并给出对应的实例演示:接着,区别了数组指针与指针数组.函数指针与指针函数:最后,对最常混淆的引用传 ...
- C语言学习之 数组,指针,字符串. (一)
2019独角兽企业重金招聘Python工程师标准>>> 此文由来: 是看到野鬼发表的关于C语言知识内容后,一激动,手一痒.回了一篇.可惜误操作让回复没能保存. 之后再写就是下面的内容 ...
- C++面试题-指针-指针数组与数组指针
C++面试题-指针-指针数组与数组指针 问:int (*p)[n]与int *p[n]的区别? 答: int (*p)[n]是数组指针,指向某n个元素所组成的整块的数组,返回值是整型指针类型的. in ...
- C++指针详解2_typedef函数声明类型、sizeof特性简介与数组指针间关系说明
本节主要内容 typedef函数声明 函数指针变量声明类型 函数指针与函数指针数组 sizeof 数组与指针的关系 函数形参接收数组与接收指针的关系 基本函数声明类型与使用 使用typedef进行函数 ...
- C语言数组指针(指向数组的指针)详解
数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element).数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存.以int arr[] = { 99, ...
最新文章
- Spring boot centos部署启动停止脚本
- harris角点检测的学习
- python实例 73,74
- LightOj 1027 A Dangerous Maze
- c++ 服务 以当前用户拉起进程_渗透技巧——通过CredSSP导出用户的明文口令
- asp.net mvc4 设置build项目时,编译view页面
- 用Netty实现RPC
- 如何使用TeamViewer在会话期间画图?
- xcopy使用与案例使用
- 跟我一起玩Win32开发(18):使用对话框的两个技巧
- java初级开发面试题
- 建筑师学python有用吗_建筑师为什么要学编程?
- Unity AudioMixer效果器设置
- cad插入块_CAD图块全攻略第三期——高级技巧动态块,快来提升逼格!
- “数据分析师”招聘信息的数据分析
- 如何开发Chrome扩展程序
- U盘, USB读卡器, U盘读卡器三者技术分析区别
- 上班族用哪个邮箱好用,如何正确使用邮件工作?
- redis --- List类型使用
- mac linux 性能测试工具,Mac/Linux压力测试神器Siege详解(附安装过程)
热门文章
- vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者
- Spring Cloud源码分析(一)Eureka
- 论文浅尝 | CoRR - 面向复杂知识问答的框架语义解析方法
- 论文浅尝 | NumNet: 一种带有数学推理的机器阅读理解模型
- 肖仰华 | 做个“有知识”的机器人
- docker -v -it -p 详细说明
- IntentService解析
- 考研心路历程2021北京交通大学计算机学院软件工程
- java和python对比----1:
- PowerDesigner 中SQL文件、数据库表反向生成PDM