`
plkong
  • 浏览: 173379 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

malloc, realloc的使用

阅读更多

在使用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;
}
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics