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/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
posted on 2020-07-24 17:18 tongqingliu 阅读(229) 评论(0) 编辑 收藏 举报