首页 > 编程语言 >C++ 指针 vs 数组

C++ 指针 vs 数组

时间:2024-03-01 19:59:20浏览次数:27  
标签:int MAX C++ vs 数组 var 指针

指针和数组并不是完全互换的

 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;

 

标签:int,MAX,C++,vs,数组,var,指针
From: https://www.cnblogs.com/uacs2024/p/18047804

相关文章

  • VSCode编写多线程程序碰到 mutex 和 thread 未定义的报错问题
    硬件:ThinkBook16G5+IRH系统:Win11家庭中文版22H2如果碰到在线安装MinGW-w64失败的问题可以参考以下链接在线安装MinGW-w64失败下载mingw-std-threads文件夹目前MinGWGCC缺少标准的C++11线程类,该库补充实现有关thread和mutex的内容https://github.com/mega......
  • C++类开发第五篇(继承和派生的初体验)
    inheritance在C++中,继承是一种面向对象编程的特性,允许一个类(称为子类或派生类)从另一个类(称为基类或父类)那里继承属性和行为。通过继承,子类可以获得父类的数据成员和成员函数,从而可以重用父类的代码并扩展其功能。这样可以提高代码的复用性和可维护性,同时也符合面向对象编程的封......
  • C++static 存储类
    1#include<iostream>23//函数声明4voidfunc(void);56intmain()7{8intcount=10;9while(count--)10{11func();12std::cout<<",变量count为"<<count<<std::endl;13......
  • VMware vSphere 8.0 Update 2b 下载 - Broadcom VMware 首次重大更新
    VMwarevSphere8.0Update2b下载-BroadcomVMware首次重大更新VMwarevSphere8.0Update2b下载-企业级工作负载平台2月29日(北京时间3月1日),VMwarebyBroadcom停更5个月后,终于发布了首次重大更新!ESXi8.0U2&vCenterServer8.0U2请访问原文链接:https:......
  • (持续更新)c++指针
    空指针和野指针1.空指针定义:指针变量指向内存中编号为0的空间用途:初始化指针变量注意:空指针指向的内存是不可以访问的   2.野指针   const修饰指针1.const修饰指针constint*p=&a;图中:*p=20;错误,指针指向的值不可以改p=&b;正确,指针的指向可以改 (常量......
  • faster-fifo:C++实现的python多进程通信队列 —— 强化学习ppo算法库sample-factory的C
    项目地址:https://github.com/alex-petrenko/faster-fifo需要注意,该项目给出了两种安装方法,一种是pip从pypi官网安装,一种是从GitHub上的源码安装;经过测试发现这个项目维护程度较差,因此pypi官网上的项目比较落后,因此不建议使用pypi上的安装,而是进行源码编译安装。给出源码编......
  • 聊一聊日常开发中如何优雅的避免那无处不在的空指针异常
    在Java编程语言中,NullPointerException(简称NPE)是一种常见的运行时异常,当程序试图访问或操作一个还未初始化(即值为null)的对象引用时,Java虚拟机就会抛出NullPointerException。如果我们在日常开发中,不能很好的去规避NPE,那么可能因为数据或者其他问题就会导致线上问题。。。很烦。。......
  • dbus-c++/dbus.h:没有那个文件或目录
    dbus-c++/dbus.h:没有那个文件或目录作者:Linux服务器开发栏目:公开2023-10-2612:38160如果你在使用dbus-c++时遇到了”dbus.h:没有那个文件或目录”的错误,这可能是因为你的编译环境缺少DBus开发库。要解决这个问题,你需要安装DBus开发库。根据你所用的操作系统不同,具体步骤可......
  • C语言笔记11(指针二)
    指针变量作函数参数函数的参数不仅可以是整型、实型、字符型,还可以是指针型它的作用是讲一个变量的地址传送到另外一个函数中          数组名做函数参数当用数组名作为参数时,如果形参数组中元素的值发生变化,实参数组元素的值也随之变化若有一个实......
  • 【C++】【OpenCV-4.9.0】播放视频
    相较于之前的Python下的opencv读取视频流并展示,C++下有一些不同需要配置1、opencv\build文件夹的bin文件夹下的opencv_videoio_ffmpeg490_64.dll需要拷贝至工程文件中,或者将bin路径写入环境变量也可。(如果没有这个dll文件的话,可能会出现一直读取视频失败,即使用isOpened()返回fals......