标题:昏了。。。大家来看看内存动态分配
只看楼主
taojingwen
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-5-5
 问题点数:0 回复次数:3 
昏了。。。大家来看看内存动态分配
说明一个可存放10字符串的字符串数组,各字符串由用户输入,数组中每个元素的大小根据用户输入字符串的长度动态确定。

以前只遇到过一维数组的动态分配。如果是二维或是多维数组时,不知道该怎么写了。懵了~!!!
搜索更多相关主题的帖子: 动态分配 内存 多维 字符 元素 
2007-05-23 11:38
taojingwen
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-5-5
得分:0 
回复:(taojingwen)昏了。。。大家来看看内存动态分...

大家来帮我看看啊!


I Believe I Can Fly
2007-05-23 11:45
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
得分:0 

不知道这样行吗
#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;


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


2007-05-23 14:19
taojingwen
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-5-5
得分:0 

感谢你了。。。


I Believe I Can Fly
2007-05-23 15:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-141779-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094038 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved