|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 一个基础问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
442
人关注过本帖
标题:
一个基础问题
只看楼主
加入收藏
khaz
等 级:
论坛游侠
帖 子: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
等 级:
论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
第
2
楼
收藏
得分:0
通过strcpy,是想这样:
p[0]---->"aa"
p[1]---->"bb"
p[2]---->"cc"
p[3]---->"dd"
p[4]---->"ee"
2011-06-20 16:27
举报帖子
使用道具
赠送鲜花
khaz
等 级:
论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
第
3
楼
收藏
得分: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调
等 级:
论坛游民
帖 子:15
专家分:78
注 册:2011-6-20
第
4
楼
收藏
得分: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
等 级:
论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
第
5
楼
收藏
得分:0
楼上的方法我知道 我现在谈论的是另一个话题 是用char (*p)[3]来实现。使用malloc是因为声明数组时数组长度不能是变量。
比如char a[n];不是C99就是错的,所以用动态分配的方式来实现。
现在我似乎有点想通了。觉得A应该是填3*5=15.
2011-06-20 16:48
举报帖子
使用道具
赠送鲜花
烟雾中的迷茫
等 级:
蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
第
6
楼
收藏
得分:5
楼主想到
有点道理
2011-06-20 17:35
举报帖子
使用道具
赠送鲜花
icysky
来 自:心灵世界
等 级:
职业侠客
威 望:
1
帖 子:172
专家分:399
注 册:2011-5-17
第
7
楼
收藏
得分:5
那就-std=c99
不管怎么走、总有一个终点...
2011-06-20 17:54
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
一个基础问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.021377 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved