动态内存分配浅析2


这里特别说明 void * 并不是说是空指针  而是说 这个指针是通用型的或者是无类型的  使用的时候 把它转换成啥类型就是啥类型 

比如 p=(int*)malloc(10*sizeof(int));

另外一点需要注意  

int *p1=NULL;

void *p2;

p1 p2绝不相同  p1是空指针类型已经确定  p2是类型未知且未初始化的指针

calloc()将分配的内存全部初始化为0  可以避免一些不必要的错误 我们建议使用calloc()进行动态内存分配

realloc()


这里需要注意的是 realloc之前最好用一个指针把原来的地址p存储一下  防止在进行操作的时候丢失原地址

因为realloc()的返回值是新分配的存储空间的地址 与原地址未必相同


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • C语言中内存分配 在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是...
    一生信仰阅读 1,359评论 0 2
  • 前言 C语言作为一门应用途广泛、功能强大、使用灵活的面向过程式编程语言。既可用于编写应用软件,又能用于编写系统软件...
    老板娘来盘一血阅读 13,345评论 32 83
  • 首先我们来科普一下: 什么是堆?说到堆,又忍不住说到了栈!什么是 栈?1、什么是堆:堆是大家共有的空间,分全局堆和...
    Xiho丶阅读 1,359评论 0 1
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,675评论 3 44
  • 我带着酒精和烟雾 披荆斩棘脚上长满水泡 衣衫褴褛手里紧握玫瑰的刺 逃过了孤狼和恐怖的黑色森林 踏过了鱼腥和野草的绿...
    喰老师阅读 783评论 0 1

友情链接更多精彩内容