使用malloc时提示Storage is returned from allocation function malloc.
时间: 2023-12-08 16:00:58 浏览: 52
这个提示意味着你使用了 malloc 分配了内存,但是没有将其赋值给任何指针变量。你需要将 malloc 返回的指针保存在一个指针变量中,以便稍后可以使用该指针访问分配的内存。
例如,以下代码段会导致这个警告:
```c
malloc(10);
```
应该将其修改为:
```c
char *ptr = malloc(10);
```
这样,你就可以使用指针变量 `ptr` 访问分配的 10 字节内存,而且不会收到警告。
相关问题
使用malloc时提示 Assigning: msgNode.data = storage returned from malloc(msgHead.msgLength + 44UL).
这个提示是在使用malloc分配内存时出现的,其中msgHead.msgLength + 44UL是要分配的内存大小。提示的意思是告诉你将malloc返回的内存地址赋值给msgNode.data。
为了避免出现这个提示,你可以将赋值操作拆分成两行代码。具体做法是先将malloc返回的内存地址赋给一个临时变量,然后再将临时变量赋给msgNode.data,如下所示:
```
void *temp = malloc(msgHead.msgLength + 44UL);
msgNode.data = temp;
```
这样做可以避免编译器对于malloc返回值的警告提示,同时使代码更加易读。
malloc.h中没有malloc_trim函数
在C语言的标准库malloc.h中确实没有定义malloc_trim函数。malloc_trim函数是GNU C Library(glibc)中的一个特定函数,用于释放堆内存中的未使用空间。它可以通过调整堆内存的大小来减少内存的碎片化,并将未使用的内存返回给操作系统。
如果你需要使用malloc_trim函数,你需要确保你的代码是在使用glibc作为标准库的情况下编译和运行的。另外,需要注意的是,malloc_trim函数并不是C语言标准库的一部分,因此在其他平台或使用其他C库时可能无法使用该函数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)