标签:多重 存储 buffer 二重 char 内存地址 指针
例子
#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就是二重指针地址。而指针只是存储内存地址的整数
标签:多重,存储,buffer,二重,char,内存地址,指针 来源: https://www.cnblogs.com/chengmf/p/14880892.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。