| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:一个基础问题
只看楼主 加入收藏
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:6 
一个基础问题
想用一个数组指针保存以下字符串 :
"aa"
"bb"
"cc"
"dd"
"ee"
共5行 ,
char (*p)[3]=(char (*)[3])malloc(A);
这里是想把各个字符串strcpy到p[i]中,
这里A填多少才是精确分配的(所谓的精确分配就是不要填一个很大的数),如果需要用乘法就用乘法来写,不要写乘的结果,另外我也希望写的结果并不是以报错与否作为标准,因为你填得很小也未必报错。
如果每个字符串长度为10又是如何?
搜索更多相关主题的帖子: 字符串 
2011-06-20 16:12
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
通过strcpy,是想这样:
p[0]---->"aa"
p[1]---->"bb"
p[2]---->"cc"
p[3]---->"dd"
p[4]---->"ee"
2011-06-20 16:27
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
typedef char (*PP)[3];
PP p=(PP)malloc(B*5);
B如果=sizeof(PP) 那就是填4*5,
不过这里概念不清 个人感觉也未必是4*5
如果是4*5,A就是20.
2011-06-20 16:35
西元前的D调
Rank: 2
等 级:论坛游民
帖 子:15
专家分:78
注 册:2011-6-20
收藏
得分:5 
char *p[5];
p[0]="aa";
p[1]="bb";
p[2]="cc";
p[3]="dd";
p{[4]="ee";
定义一个指针数组,每个指针指向一个字符串。
2011-06-20 16:40
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
楼上的方法我知道 我现在谈论的是另一个话题 是用char (*p)[3]来实现。使用malloc是因为声明数组时数组长度不能是变量。
比如char a[n];不是C99就是错的,所以用动态分配的方式来实现。

现在我似乎有点想通了。觉得A应该是填3*5=15.
2011-06-20 16:48
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:5 
楼主想到  有点道理
2011-06-20 17:35
icysky
Rank: 5Rank: 5
来 自:心灵世界
等 级:职业侠客
威 望:1
帖 子:172
专家分:399
注 册:2011-5-17
收藏
得分:5 
那就-std=c99

不管怎么走、总有一个终点...
2011-06-20 17:54
快速回复:一个基础问题
数据加载中...
 
   



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

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