写这篇文章要感谢(微信公众号 C语言与CPP编程 里 C++ 指针详解)
此处我写的就是看过那篇文章后的一点启发(例如:如何取出一个4个字节int类型数的第三个字节存储的内容之类的问题)
#include<iostream> using namespace std; int main(){ int m = 65536; char* p = (char*)&m; cout<<"第一个字节的内容: "<< (*p - NULL) << endl; cout<<"第二个字节的内容: "<< (*(p + 1) - NULL) << endl; cout<<"第三个字节的内容: "<< (*(p + 2) - NULL) << endl; cout<<"第四个字节的内容: "<< (*(p + 3) - NULL) << endl; return 0; }
此代码的结果为:
解释: 65536 四个字节分别为 00000000 00000001 00000000 00000000(从左到右 是从高位到低位) 故输出的结果为 0 0 1 0
这里多说一句:其实你定义一个指针变量,然后为它赋予一个地址,他就会指向从那个地址开始然后加上sizeof(你定义的指针变量)这块内存。
(你可能会说 整形指针不是必须要指向一个整形的地址吗? 其实不然 不管是什么类型的指针变量,你只要给他赋给一个地址,她便会指向你给的地址为起点然后加上sizeof(你定义的指针变量)这块内存。
OK!!!! 最后还是强烈建议大家去看看那个公众号的文章——————————真心不错!!!!
标签:感悟,字节,int,C语言,00000000,地址,指针 From: https://www.cnblogs.com/fighting-huihui/p/17357587.html