C++ *和&

概述

在c++中,当申明变量int *p 的时,表示p是一个储存地址的变量;比如int _p=0,表示p指向地址为00000000的地址单元。当申明指针p之后,再用_p表示p指向的储存空间的内容;&表示取变量的地址

示例

#include

using namespace std;

int main() {
    int a = 123;

    // &a表示a在内存中的地址,也就是123在内存中的地址
    cout << "a: " << a << endl << "a's address:" << &a << endl;

    // 此时p是一个指针,指向a所在的位置
    int *p = &a;
    cout << "p: " << p << endl;

    // 声明p之后,在p之前添加*表示p指向内存的值
    cout << "p's value: " << *p << endl;

    // 同时p也是 一个变量,在内存中也有一个地址储存它,但其地址不是a的地址
    cout << "p's address: " << &p << endl;

    // 试试*&组合使用是什么效果
    cout << "*&p: " << *&p << endl;

    // &p是一个内存地址,*&p表示&p指向地址内存空间的值,在这里表示a的地址
    cout << "**&p: " << **&p << endl;

    // 刚才我们已经知道*&p是a的地址,那么**&p就表示a的值

    return 0;
}

// 运行结果

a: 123
a's address:0xffffcc1c
p: 0xffffcc1c
p's value: 123
p's address: 0xffffcc10
*&p: 0xffffcc1c
**&p: 123

Original: https://www.cnblogs.com/linkenpark/p/12043704.html
Author: 林肯公园
Title: C++ *和&

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535252/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Windows Runtime——-面向对象化的c++(并非意味着托管)

    Windows8的开发平台总体上分为两部分:一是全新的WinRT,界面搭配Metro style,二是传统的Win32、.NET(SL)、IE三大平台,界面为传统窗体风格。其中全新…

    C++ 2023年5月29日
    074
  • 【面试攻略】C++面试-成都星合互娱

    2020-11-26-成都星合互娱 hr1.离职原因2.工作总结3.学历4.期望薪资 技术面1.自我介绍2.项目架构3.内存管理4.智能指针5.对象封装6.lua热更,热更对象的成…

    C++ 2023年5月29日
    064
  • Kruskal算法(二)之 C++详解

    在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树。 例如,对于如上图G4所示的连通网可以有多棵…

    C++ 2023年5月29日
    057
  • C++强大背后

    在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with c…

    C++ 2023年5月29日
    055
  • 【C++服务端技术】对象池

    代码没贴全,就少一个锁头文件,可以做设计参考 设计思想就是维护一个空闲链表,没有用的就重新申请,有的话就拿链表的头,使用完又还给空闲链表。 /* 一个分配固定大小内存的内存池,使用…

    C++ 2023年5月29日
    066
  • Embarcadero 发布开源Bloodshed Dev C++ 分支

    Bloodshed Dev C++ 是一个老牌、小巧、快速的开源C++ IDE,它是用delphi 6开发的,从2000年开始 已经被下载过了67,796,885次。是学校、单位学…

    C++ 2023年5月29日
    057
  • C++ 资源大全

    http://www.uml.org.cn/c++/201411145.asp http://ezlippi.com/blog/2014/12/c-open-project.htm…

    C++ 2023年5月29日
    049
  • c++11新特性学习2

    noexcept 替代 throw。优点是更安全, 如果noexcept 修饰的函数抛出了异常,编辑器可以直接选择终止程序。 C++ 11中析构函数默认为noexcept(true…

    C++ 2023年5月29日
    043
  • Xcode 导出C++项目在其他电脑执行

    先找到C++项目的可执行文件的位置 https://blog.csdn.net/qq_34759481/article/details/82700587 关于存储和加载文件的目录,…

    C++ 2023年5月29日
    054
  • C++函数模板template(模板函数)

    函数模板不是一个实在的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时,将根据传递的实际参数决定其功能。 面向对象的继承和多态机制有效…

    C++ 2023年5月29日
    054
  • C++ #ifndef、#define、#endif作用

    在C++项目中,#ifndef、#define、#endif非常常见,接下来就来简单说一下它们的作用。 作用:防止头文件被重复引用,防止被重复编译。 简介: ifndef 它是if…

    C++ 2023年5月29日
    072
  • vscode配置c++

    在.vscode里创建三个文件 c_cpp_properties.json, launch.json, settings.json, tasks.json c_cpp_proper…

    C++ 2023年5月29日
    070
  • C/C++ 回调函数(Callback)& 函数指针

    摘要:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的…

    C++ 2023年5月29日
    053
  • C++ 相关库

    C++ 相关库 说明 RapidJSONhttps://github.com/Tencent/rapidjson Original: https://www.cnblogs.com…

    C++ 2023年5月29日
    062
  • ProtoBuf3 C++使用篇

    protobuf 是用于结构化数据串行化的灵活、高效、自动化的解决方案。又如 XML,不过它更小、更快、也更简单。你只需要按照你想要的数据存储格式编写一个.proto,然后使用生成…

    C++ 2023年5月29日
    051
  • c++调用tflite实战

    一,概述 深度学习模型在移动端的应用越来越多,tensorflow lite就是专门为tensorflow模型在移动端上线推断设计的框架。tensorflow 官方提供了不少cv的…

    C++ 2023年5月29日
    056
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球