您的位置:首页 > 其它

char ** str的使用方法:动态内存分配-------二维指针

2013-03-28 21:48 399 查看
直接上代码:

看了就懂了。

#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
char **str;
int i,j;
char ch;
str=(char **)malloc(sizeof(char*));
cout<<"输入字符串,以@结束:"<<endl;
fflush(stdin);
i=0;
ch=getchar();
while (ch!='@')
{
str=(char **)realloc(str,(i+1)*sizeof(char*));

str[i]=(char*)malloc(sizeof(char));
if (i==0)
{
str[i][0]=ch;
j=0;
}
else
{
j=-1;
}
ch=getchar();
while ((ch!='\n')&&(ch!='@'))
{
j++;
str[i]=(char*)realloc(str[i],sizeof(char)*(j+1));
str[i][j]=ch;
ch=getchar();
}
str[i]=(char*)realloc(str[i],sizeof(char)*(j+1));
str[i][j+1]='\0';
i++;
}
for (j=0;j<i;j++)
{
cout<<str[j]<<endl;
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐