malloc函数 【推荐阅读】 Linux文件系统详解 linux进程管理—实时调度 linux内核内存管理-缺页异常 linux内核内存管理-brk系统调用 malloc函数动态分配数组,free释放内存 上面的代码是用malloc函数动态分配了一个double型数组也可以将其分配给一个int型数组。而 malloc 则必须由我们计算要字节数,而且在返回后强行转换为实际类型的指针。 int* p; p = (int *) malloc (sizeof(int)); 第一、malloc 函数返回的是 void * 类型,假设你写成:p = malloc (sizeof (int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。所以必须通过 (int *) 来将强制转换。 第二、函数的实參为 sizeof (int) ,用于指明一个整型数据须要的大小。假设你写成: int* p = (int *) malloc (1); 代码也能通过编译,但其实仅仅分配了 1 个字节大小的内存空间,当你往里头存入一个整数,就会有 3 个字节无家可归,而直接 “住进邻居家”!造成的结果是后面的内存中原有数据内容所有被清空。关于上面代码一些解释:

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/80288.html


