首页 > 编程语言 >C++学习笔记之指针高阶

C++学习笔记之指针高阶

时间:2024-08-02 23:29:17浏览次数:15  
标签:运算 元素 地址 C++ 数组名 数组 高阶 指针

数组名

数组名字是数组的首元素地址。

一个指针变量保存了数组元素的地址。我们就称之为数组元素指针,及数组指针。

数组指针的本质是指针,指向数组中的某个元素的地址。

 

由于数组名可以代表数组收元素地址,数组元素是可以通过 数组名[下标] 的格式访问,

那么可以定义一个指针来存放数组的地址,并通过 指针[下标] 的方式去访问数组元素。

数组指针加减运算

指针指向数组元素时,允许以下运算:

*加一个整数(用+或+=),如p+1

*减一个整数(用-或-=),如p-1

*自加运算,如p++,++p

*自减运算,如p--,--p

这三种随便用

地址加减整数n实际上加减的是加减n个数组元素的大小。

数组名也可以支持+运算(减运算越界了,不支持减运算)

+=  ++不支持,数组名

改变指向

五种遍历方式:

#include <iostream>


int main()
{
      int a[] ={1,3,5,4,5,6,7,8,9};
      std::cout<<"a="<<a<<std::endl;
      std::cout<

标签:运算,元素,地址,C++,数组名,数组,高阶,指针
From: https://blog.csdn.net/2402_83809362/article/details/140663349

相关文章

  • c++ 字符分割截取
      #include<iostream>#include<string>#include<sstream>#include<vector>//函数用于按照指定分隔符分割字符串std::vector<std::string>splitString(conststd::string&s,chardelim){std::vector<std::string>tokens;......
  • 【C++】存储区
    bss段:存放未初始化的全局变量(包括静态全局变量)和初始化为0的全局变量(包括静态全局变量),属于静态分配内存(bss=BlockStartedbySymbol)data段:数据段,用来存放已经初始化且初始化值为非零的全局变量(包括静态变量)text段:通常是指用来存放程序执行代码的一块内存区域。这部分区域......
  • 虚幻五 学习(五)开始写C++代码
    经过正确创建文件现在就有C++文件了   UFUNCTION(BlueprintCallable) voidOpenLobby(); UFUNCTION(BlueprintCallable) voidCallOpenLevel(constFString&Address); UFUNCTION(BlueprintCallable) voidCallClientTravel(constFString&Address);#include"......
  • 【VSCode】C/C++ 自动补全
    1、安装C/C++插件2、进入设置先检查"C_Cpp.intelliSenseEngine"是否为Default。如果是Disable,一定要把它改过来,否则将会在左下方弹出错误提示框,提示:"C_Cpp.intelliSenseEngine"是Disable,没有办法进行提示......
  • C语言指针与数组
    在上一篇对指针介绍的文章当中,我们初次了解到了指针,并且知道了地址和内存间的关系,懂得了如何取地址和对指针的解引用,算是对指针有了一个初步的了解。而今天让我们对指针进行更深一步的了解吧~一、指针与数组名我们知道,指针变量是一个用来存放地址的变量,比如我们定义一个整形......
  • 从汇编层面看c/c++函数调用过程
    函数调用分析前置知识:全局变量:在函数内部定义的变量局部变量:在函数外部定义的变量esp:存储当前函数栈底的地址ebp:存储当前函数栈顶的地址对于函数形参(实际上):简单:cpu寄存器中复杂:栈中开空间函数调用机制:局部变量占用的内存是在程序执行过程中“动态”地建立和释放的......
  • 函数指针和指针函数的使用
    指针函数1:本质函数,返回值为指针1.2:格式:数据数据*函数名(形参){函数体return地址;//失败一般会返回NULL}#include<stdio.h>#include<stdlib.h>char*yue(){//chara[32]="hello";//栈区,函数调用结束后空间被释放//char*s="hello";//常量区,不会被释......
  • 上海计算机学会2022年5月月赛C++乙组T3狼人游戏(二)
    狼人游戏(二)内存限制: 256 Mb时间限制: 1000 ms题目描述有 n 名玩家在玩狼人游戏,有一些玩家的身份是狼人。其余玩家的身份是预言家。游戏的进程中,陆续出现了 m 句发言,每句发言来自于某个玩家,发言的信息是声称另一个玩家的身份是狼人或者是预言家。小爱猜想,狼人的发......
  • C++语法基础之输入输出(易理解巨详细)
    Unit1C++语法基础之基本输入输出本次分享属于C++语法基础系列课,标准输入输出的理解和使用C++语法基础之输入输出标准输入输出介绍(一)输入输出流(概念比较抽象,可先理解代码,回头进行理解性记忆)1、概念2、输入流(InputStreams)3、输出流(OutputStreams)(二)标准输出1、输......
  • C++中const关键字的作用?
    const关键字的作用?const主要用来定义常量和保护变量不被修改:定义常量:使用const可以定义一个不可修改的常量,const常量的默认链接方式是内部链接(只有该源文件可见),可以将其定义在头文件中而不会引起重复定义问题,每个包含该头文件的源文件都各自拥有一个const常量的副本。//......