70,021
社区成员




char*p1=NULL
int*p2=NULL
//首先p1、p2是两个变量。
//因为他们都是指针类型。所以他们本身占4字节(其实与环境、编译器的设置等等相关。不过这里暂时不用多虑,没有特别强调的情况下一般你就认为是32位/4字节就够了)。也就是在内存的某一处有4个字节存放p1的值(其本体)。某一处存放有p2的值(其本体)。
这里先打个比方,我把这p1、p2比喻为目录中的某两条目录
//上面说到的值是什么?是地址(因为是指针),也就是上面的两条目录写在后面的页数(比如:p1-32页。p2-86页)。让你根据页数去找到你想要的东西。
//那么char* 和int*又有什么区别呢? char* p1是告诉你,32页开始共1页(字节)是你需要的。int*p2是告诉你86页开始共4页(字节)是你需要的
//最后废话一句。是你定义的指针类型。意味着告诉编译器。去哪里,取多少容量的数据