指针本身也是一个变量,一块空间,里面存的值是地址,类型是unsign long,跟随系统,系统是32位它就是32位,系统64位它就是64位。里面存的是另一个变量的首地址。
int * a;
意思是 a是一个int型指针,就是a里面存的是个地址,这个地址里面存的变量是int型的。
void * b;
意思是 b这个指针是无类型的。就是a里面存的地址,这个地址里面存的变量是任意类型都可以。
malloc向系统申请内存,需要强制转换类型,因为malloc操作后是一个无类型的指针。需要转换为对应的类型。
malloc之后记得要free掉,就是把这个指针跟指向的地址之间的联系断开,之后指向那个地址的指针就没有它了。
指针与内存管理
本文深入解析了指针的概念,包括其类型、如何存储变量地址,以及无类型指针的使用场景。同时,阐述了malloc函数在内存分配中的作用及free函数在释放内存时的重要性。
8348

被折叠的 条评论
为什么被折叠?



