zoukankan      html  css  js  c++  java
  • 多重指针内存地址

    例子

    #include<iostream>
    
    int main()
    {
    	char* buffer = new char[10];//创建char类型的指针数组
    	memset(buffer, 0, 10);		//初始化为0
    	char** ptr = &buffer;		//创建二重指针并指向一个指针 
    
    	std::cin.get();
    }
    

    内存结构

    在这里插入图片描述

    从图中我们可以看到创建的指针buffer内存地址为0x00b8f1e8且内存中都被初始化为0.
    在这里插入图片描述
    这时已经执行了创建二重指针的代码并指向的一个指针,从图中可以看出二重指针的内存地址为0x009ffd7c,而这段地址存储的是e8 f1 b8 00,由于计算机中字节存储顺序,我们把它归正变成了00b8f1e8,这正是buffer的内存地址。
    在这里插入图片描述

    结论

    在这里插入图片描述
    从上实验可以推论三重指针地址为0x00aff9e0,而这段地址内存存储的为 ec f9 af 00就是二重指针地址。而指针只是存储内存地址的整数

  • 相关阅读:
    Python replace()方法
    QQ传输协议分析
    子网与子网掩码的介绍
    每天撸点Linux
    对一次ARP欺骗分析
    中转注入
    第五篇学习笔记
    第四篇学习笔记
    第三篇学习笔记
    第二篇学习笔记
  • 原文地址:https://www.cnblogs.com/chengmf/p/14880892.html
Copyright © 2011-2022 走看看