在使用malloc()申请内存后,最好在随后使用memset()函数进行初始化。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
* 功能:把字符串a中不重复的数字提取出来保存到字符串b中
*/
int main(void)
{
int i,j, len;
char *a="1221256";
char *b;
len = 1;
b = (char *)malloc(sizeof(char)*len);
memset(b,0,len+1);
//memset(b, NULL, sizeof(char)*len);
//strcpy(b,&a[0]);
b[0] = a[0];
for(i = 1; i < strlen(a); i++)
{
int flag = 0;
for(j = 0; j < len; j++)
{
if(a[i] == b[j])
{
flag = 0; break;
}else
{
flag = 1;
}
}
if (flag == 1)
{
b = (char *)realloc(b,len+1);
b[len] = a[i];
len++;
}
}
for(i = 0;i < len;i++)
printf("%c", b[i]);
printf("\n");
printf("\n%s\n", b);
free(b);
return 0;
}
分享到:
相关推荐
个人总结各类博客和资料里关于malloc,calloc,realloc的对比
C中堆管理—浅谈malloc,calloc,realloc 函数之间的区别 详情:http://blog.csdn.net/fjb2080
Malloc 返回一块内存地址的指针,否则会返回空指针null,这里要注意的是,当内存不再使用的时候,用free()函数进行对内存的释放。 2.calloc 作 用:calloc()函数有两个参数,分别为元素的数目和每个元素...
使用动态内存很明显的好处是:不需要预先分配存储空间且分配的空间可以根据程序的需要扩大或缩小,这样可以有效的使用内存空间。 malloc和free C函数库中的malloc和free分别用于执行动态内存分配和释放。这...
以下是对c语言中的malloc函数,realloc函数与calloc函数的区别以及它们之间的联系进行了介绍,需要的朋友可以过来参考下
跟踪对 malloc、realloc 和 free 的调用 用法 可以像这样使用LD_PRELOAD加载共享对象 LD_PRELOAD=heap_trace.so ./executable 例子 heaptrace 将输出有关 malloc、realloc 和 free 调用的信息 父函数的地址或已解析...
我使用系统mmap实现的libc malloc,realloc和free函数 特征 大小分段:将请求分为SMALL,MEDIUM和LARGE,对SMALL和MEDIUM请求使用预分配的区域 释放碎片空间以优化重用 Hexdump分配的内存功能 实现的功能: malloc-...
内存分配 学校项目,其中包括重新编码stdlib函数malloc,realloc和free
特别是在BootLoader或者单片机开发过程中,想要实现malloc、free、realloc等函数时,只需要将压缩包里的malloc.c和malloc.h拷贝到你的工程的同一个目录下,编译链接进去即可。压缩包里的test.c提供了一个使用示例供...
c语言库文件 内存管理源代码 malloc free malloc_consolidate realloc
学生用来实现自己的malloc, realloc和free函数。 Students implement their own versions of malloc, free, and realloc. This lab gives students a clear understanding of data layout and organization, and ...
主要介绍了C语言中 malloc、calloc、realloc的区别的相关资料,需要的朋友可以参考下
realloc原型是extern void *realloc... #include <stdlib> 有些编译器需要#include <malloc>,在TC2.0中可以使用alloc.h头文件 功能 先判断当前的指针是否有足够的连续空间,如果有,扩大mem_address指向的地
fake-malloc.c:分配库的一个版本,它使用真实版本的malloc , free , ... my-malloc.h:要构建的库的头文件 test-fake:与fake-malloc.c链接的 test-malloc 版本 test-malloc-eg:测试程序的 GNU/Linux x86_64 可...
字符串函数 bcmp bcopy bzero memccpy memchr memcmp memcpy memicmp memmove memset movmem setmem stpcpy strcat strchr strcmp strcmpi strcpy strcspn ...malloc realloc
编译脚本的示例调用: mkdir buildLLVM_ROOT=$HOME/ CFLAGS=-O2 ./compile build/main.wasm src/malloc.c src/test.c 可以使用预处理器宏MALLOC_DEBUG启用调试日志记录。 这还添加了函数print_heap() ,该函数将堆...
本程序是一个在模拟器上定位BREW应用程序内存泄露位置的工具,可以给出内存泄露位置的调用栈信息(包括MALLOC/REALLOC被调用的位置,也能定位到ISHELL_CreateInstance被调用的位置)。 This program is a tool that...
本程序是一个在模拟器上定位BREW应用程序内存泄露位置的工具,可以给出内存泄露位置的调用栈信息(包括MALLOC/REALLOC被调用的位置,也能定位到ISHELL_CreateInstance被调用的位置)。 This program is a tool that...