首页 > 编程语言 >C++数组下标可以是负数

C++数组下标可以是负数

时间:2023-07-22 17:33:07浏览次数:29  
标签:下标 int C++ 负数 寻址 数组

 

int a[5] = {0, 1, 2, 3, 4}
int *p = a+4;
cout << p[-2] << endl;  // 2 

p[-2] 表示从指针当前位置向前寻址两个数据类型长度

注1:只有在 p 是指针时才能这么做,不应当出现 a[-2] 这样数组名加负数下标的用法,因为会超出数组地址范围

注2:一般不建议这么做,可能会出现各种寻址错误,该种情况一般出现在判断题中

 

标签:下标,int,C++,负数,寻址,数组
From: https://www.cnblogs.com/wkxnk/p/17573779.html

相关文章

  • 8.C++中的struct和class的区别
    C++中class默认是私有,struct默认是公有这是两者唯一的区别。该默认体现在成员和继承两方面,不指定成员类型的时候class默认是私有,struct默认是公有,class默认是私有继承,struct默认是公有继承。其他情况可以使用class的地方struct也能使用。......
  • C++ stl锁的使用
    我们在日常开发中经常要用到锁,这里记录一下实际开发过程中stl提供的锁的使用。1、读写锁读写锁算是用到的比较多的一种类型,主要实现对于同一个共享数据区,一个时间点只能有一个线程进行写(增删改),但可以有多个线程同时读(查)。换句话说,当有一个线程写的时候,其他线程(不管是读线程还是......
  • 4.C++和Python
    C++是编译性语言,Python是解释性语言C++编译链接的全过程分为:预编译预编译会执行以下内容:宏替换执行条件编译:#ifdef,#ifndef,#endif#include后面文件内容插入并替换当前行删除注释编译编译会执行以下内容:检查有没有语法错误,没有的话转换为汇编语言,汇编过程再将汇编语言转......
  • 1.C++入门&&简单顺序结构-习题
    1.C++入门&&简单顺序结构1.计算(a+b)*c的值 inta,b,c; cin>>a>>b>>c; cout<<(a+b)*c;2.带余除法 inta,b; cin>>a>>b; cout<<a/b<<""<<a%b; //C++中取余结果正负只与%前面的数有关系 cout<<5%2<<endl......
  • 多线程下,C++如何调用Python脚本的方法
    视频教程:多线程场景下,用C++调用Python脚本的方法Git:https://github.com/JasonLiThirty/C-andPython接口函数Python3.6提供给C/C++接口函数,基本都是定义pylifecycle.h,pythonrun.h,ceval.h中。Py_Initialize()和Py_Finalize()C++应用程序调用Python脚本之前,必须先调用Py_I......
  • C++实现公司设备管理系统
    1.1.1设计内容:编写一个简单的实验室设备管理程序,帮助管理实验室设备信息。要求具有设备信息管理的功能。其中包括设备信息的录入、删除、查询和修改等功能。还应包括对实验室信息管理的功能。其中包括对实验室信息的录入、删除、修改和查询等功能。1.2任务和要求运用面向对......
  • c++入门以及简单顺序结构-习题
    1.c++入门以及简单顺序结构-习题1.计算(a+b)*c的值inta,b,c;cin>>a>>b>>c;cout<<(a+b)*c;2.带余除法inta,b;cin>>a>>b;cout<<a/b<<""<<a%b;//c++中取余结果正负只与%前面的正负有关系 cout<<5%2<<endl;//输出1 c......
  • C++ 操作文本文件
    C++操作文本文件C++把IO封装成类33​操作文本文件需要包含头文件#include<fstream>​写文件(输出流)步骤(四步)创建输出流对象​ofstreamfp;//创建输出流对象​打开文件,⚠打开模式缺省时如果文件不存在就创建,文件存在则截断内容​fp.open("文件路径",打开模式);......
  • C++的四种强制类型转换
    将类型名作为强制转换的语法是C语言保留下来的,C++有自己独有的类型转换,就是四种cast。它们都有着统一的语法,即xx_cast<typename>(expression),可以将expression转换成typename的类型。static_cast顾名思义,静态转换,通常用于内置类型的转换。但是不能用于不同类型的指针/引用之间......
  • C++ 不用现成的类库 实现两个非负整数的字符串的和
    给定两个非负整数的字符串num1 和num2 ,返回num1与num2的和Note: num1 和num2 长度都小于5100. num1 和num2 只包含0-9的数字.num1 和num2 开头不为0.不能用现成的类库直接将输入的字符串转换成整数思路:从低位开始遍历相加,和≥10标记add_val=1,<10标记add_val=......