看见一道c语言题,请教一下

aiwoziji13 2011-06-09 06:01:03
如何将整形的数组变量储存到指针数组中?

比如说
char pre[9] = {10, 20, 30, 40, 50 ,60, 70, 80, 90};

char *PRE[9];

如何将pre数组中的九个整数变量,保存到PRE数组中?
...全文
289 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeng000 2011-06-10
  • 打赏
  • 举报
回复
不解……
整形存成字符?
lixing01 2011-06-10
  • 打赏
  • 举报
回复
看你的意图究竟是什么?

如果只是简单的地址传递:
将数组地址复制就可以了,实际上我认为直接使用数组地址应该更简单。

如果是要复制数据的(加上上面的情况,这与函数参数是传递地址还是传递值相似):
一种是复制一份数组,还免去了内存管理的麻烦。
如果是动态的,那么就必须动态申请内存来保存数据,然后映射地址。malloc和free就不可避免了,必须要有你自己去承担这个管理责任。最多就是一次性分配,然后直接内存copy,提高一下速度而已。
nightkids_008 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 neolyaoo 的回复:]
C/C++ code


for(i=0;i<10;i++)
PRE[i]=&pre[i];
[/Quote]
++++++
地狱业火 2011-06-10
  • 打赏
  • 举报
回复
我觉得存不了 = =
AnYidan 2011-06-10
  • 打赏
  • 举报
回复
为何会有如此奇怪的需求?
aiwoziji13 2011-06-10
  • 打赏
  • 举报
回复


[Quote=引用 4 楼 q191201771 的回复:]
char pre[9] = {10, 20, 30, 40, 50 ,60, 70, 80, 90};

char *PRE[9];

pre是char数组, 数组里的每个元素是char
PRE是char*数组, 数组里的每个元素是char*

莫非你是想把pre转成"10" "20"这样保存在PRE中??
[/Quote]

恩 就是这个意思
xiaoD 2011-06-10
  • 打赏
  • 举报
回复
用什么malloc,直接放!
5t4rk 2011-06-10
  • 打赏
  • 举报
回复
确实有点怪啊
aiwoziji13 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 chenghua88 的回复:]
C/C++ code

int i;
for(i=0; i<9; i++){
PRE[i] = (char*)malloc(4);
sprintf(PRE[i],"%d",pre[i]);
}
[/Quote]
这是个办法,不过放到代码里,需要多次malloc和free,效率不高,容易出错,不知道还有没有别的方法
chenghua88 2011-06-10
  • 打赏
  • 举报
回复

int i;
for(i=0; i<9; i++){
PRE[i] = (char*)malloc(4);
sprintf(PRE[i],"%d",pre[i]);
}

xiaoD 2011-06-10
  • 打赏
  • 举报
回复

int i ;
for(i = 0 ; i < 9 ; i++) PRE[i] = (char *)pre[i] ;
z159liao 2011-06-10
  • 打赏
  • 举报
回复
感觉题目有点奇怪啊..
我真的是琦琦 2011-06-09
  • 打赏
  • 举报
回复
char *PRE[9];
LZ知道你定义的这个是什么吗?
一个有9个元素的数组,每个元素都是一个char×型的值,你怎么存呢。。。。。
qazwsx123asdfadf 2011-06-09
  • 打赏
  • 举报
回复
说的不清楚啊
vcf_reader 2011-06-09
  • 打赏
  • 举报
回复
想怎么保存就怎么保存
就想叫yoko 2011-06-09
  • 打赏
  • 举报
回复
char pre[9] = {10, 20, 30, 40, 50 ,60, 70, 80, 90};

char *PRE[9];

pre是char数组, 数组里的每个元素是char
PRE是char*数组, 数组里的每个元素是char*

莫非你是想把pre转成"10" "20"这样保存在PRE中??
蓝染忽右介 2011-06-09
  • 打赏
  • 举报
回复


for(i=0;i<10;i++)
PRE[i]=&pre[i];
liao05050075 2011-06-09
  • 打赏
  • 举报
回复
for(int i = 0; i < 9; i++) PRE[i] = &prie[i];
你是指这样?
hu7324829 2011-06-09
  • 打赏
  • 举报
回复
PRE是9个元素的字符串,你想怎么保存呢?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧