我的意思是说,比如要输入一个不定长的数组(或者是字符串),提示用户输入完后以某个字符或者标志结束,这个要怎么实现啊?
realloc() ,下面是实现代码作参考
#include <stdio.h>
#include <malloc.h>
int main(void)
{
char *p = NULL, *p1 = NULL, c;
int count = 0, i = 0, size = 100;
if(!(p = (char *)malloc(size)))
return 0;
while('0' != (c = getchar()))
{
if(count < 100)
{
p[i] = c;
}
else
{
size += 100;
p1 = (char *)realloc(p, size);
if(!p1)
{
break;
}
else
{
p = p1;
}
p[i] = c;
count = 0;
}
count++;
i++;
}
free(p);
return 0;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。