当前位置: 代码迷 >> C语言 >> 昏了。。。大家来看看内存动态分配
  详细解决方案

昏了。。。大家来看看内存动态分配

热度:293   发布时间:2007-05-23 11:38:46.0
昏了。。。大家来看看内存动态分配
说明一个可存放10字符串的字符串数组,各字符串由用户输入,数组中每个元素的大小根据用户输入字符串的长度动态确定。

以前只遇到过一维数组的动态分配。如果是二维或是多维数组时,不知道该怎么写了。懵了~!!!
搜索更多相关的解决方案: 动态分配  内存  多维  字符  元素  

----------------解决方案--------------------------------------------------------
回复:(taojingwen)昏了。。。大家来看看内存动态分...

大家来帮我看看啊!


----------------解决方案--------------------------------------------------------

不知道这样行吗
#include<stdio.h>
#include<malloc.h>
#include<string.h>
unsigned calculate(char *a);
void main()
{
int i;
char *a[10];//定义一个指针数组 每个元素是一个指针
char t[100];//定义一个临时的数组 存放输入的字符串
for(i=0;i<10;i++)
{
printf("input %d character string\n",i+1);
gets(t);
a[i]=(char *)malloc(calculate(t));//为每一个指针分配空间 作为字符串数组 分配大小由计算所得
strcpy(a[i],t); //把临时里的字符串复制进 每个指针分配的空间里
}
for(i=0;i<10;i++)
{
printf(" %d character string is %s\n",i+1,a[i]);//输出,LZ要实现什么功能就不得而知了


}

getch();


}

unsigned calculate(char *a)
{
char *p,x=0;
p=a;
while((*p)!=0)
{
x++;
p++;
}
return x;


}
本人新手
不知道这样做行不


----------------解决方案--------------------------------------------------------

感谢你了。。。


----------------解决方案--------------------------------------------------------