C语言stdlib库中的malloc和realloc
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//void *malloc(size_t size)
//分配所需的内存空间,并返回一个指向它的指针。若失败,则返回NULL
//char* strcpy(char* dest, const char* src)
//把 src 所指向的字符串复制到 dest。
//如果目标数组 dest 不够大,而源字符串 src 的长度又太长,可能会造成缓冲溢出的情况。
//char *strcat(char *dest, const char *src)
//把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
//void* realloc(void* ptr, size_t size)
//尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
int main()
{
//分配内存
char* str = (char*)malloc(10);
strcpy(str, "hello malloc");
printf("str = %s, address = %u\n", str, str);
//重新分配内存
str = (char*)realloc(str, 25);
strcat(str, " realloc");
printf("str = %s, address = %u\n", str, str);
free(str);
return(0);
}
程序输出:
str = hello malloc, address = 7953136
str = hello malloc realloc, address = 7953136
作者:
tongqingliu
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。


分类:
C/C++
posted on 2020-07-24 17:18 tongqingliu 阅读(235) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构