`
444878909
  • 浏览: 635638 次
文章分类
社区版块
存档分类
最新评论

动态二维数组——The dynamic two-dimensional array

 
阅读更多

//The dynamic two-dimensional array

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int i;
int nu = 0;
char temp[100] = {0};
char **p = NULL;
char **q = NULL;

while(1)
{
scanf("%s",temp);
if(!strcmp(temp,"quit"))
{
break;
}
nu++;

q = p;
p = (char**)malloc(sizeof(char*)*nu);
if(p == NULL)
{
return 1;
}
for(i = 0; i < nu - 1; i++)
{
p[i] = q[i];
}

p[i] = (char*)malloc(strlen(temp) + 1);
if(NULL == p[i])
{
for(i = 0; i < nu -1; i++)
{
free(p[i]);
}
free(p);
free(q);
return -2;
}

strcpy(p[i],temp);

if(q != NULL)
free(q);
}

for(i = 0; i < nu; i++)
{
printf("%s ",p[i]);
}
putchar('\n');

for(i = 0; i < nu; i++)
{
free(p[i]);
}
free(p);

return 0;
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics