×

malloc函数详解(malloc函数用法)

前端技术网 前端技术网 发表于2024-01-18 09:05:07 浏览3261 评论0

抢沙发发表评论

一、malloc失败的原因

malloc()函数失败的常见原因:

1.内存不足。

malloc函数详解(malloc函数用法)

2.在前面的程序中出现了内存的越界访问,导致malloc()分配函数所涉及的一些信息被破坏。下次再使用malloc()函数申请内存就会失败,返回空指针NULL(0)。

分析排查原因:

查看方式:

1、内存不足,使用free命令查看当前还有多少内存,看是否合理,之前是否有内存泄漏等。

2、按照流程查看malloc失败前的几次malloc、memcpy或字符串拷贝等,查看是否有内存越界。

二、malloc分配的是栈还是堆

malloc分配的内存是位于堆中的,并且没有初始化内存的内容,因此基本上malloc之后,调用函数memset来初始化这部分的内存空间.

malloc函数详解(malloc函数用法)

三、malloc函数返回值

强制转换本来就不是必须的,malloc()返回的是void*类型的,会根据不同的指针变量而自动转换成所需要的类型,只不过在有些编译系统中,不加类型转换会收到WRONG而已。

sizeof(int*)返回int*类型的长度(也就是整型指针的长度)int**d表示d是一个指针的指针,在这里是用来动态分配二维数组的。

四、c语言malloc使用方法

c语言malloc函数用法如下:

打开vs2010,新建一个项目;

在malloc的使用.c文件中包含各种需要用到的头文件;

输入主体函数main;

定义一个指针p,将其初始化为NULL;

输入malloc函数;

其中sizeof(int)*100代表你要申请的内存空间的大小(可以自己随意设置)。

关于本次malloc函数详解和malloc函数用法的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。