| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:请教一个带有数组的结构的复制问题
只看楼主 加入收藏
legend2003cn
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-8-10
收藏
 问题点数:0 回复次数:1 
请教一个带有数组的结构的复制问题

这个是我的程序的简化例子,能够编译通过,在运行的时候,却出现了错误,请教大家,哪里有问题呢?


#include "stdlib.h"
#include "stddef.h"
#include "string.h"
#include "ctype.h"
#include "stdio.h"
#include "math.h"
#include "assert.h"

struct feanode
{
char feaname[10];
char *c_range[5];
}feanode;

struct feanode nb1={"adcde",{"aaa","bbb","ccc","ddd","eee"}};


void memcopy(struct feanode *dest, struct feanode *sour)
{
int j;
struct feanode *p,*q;
char **ch1,**ch2;

p=sour;
q=dest;
memcpy(q,p,sizeof(struct feanode));
ch1=p->c_range;
ch2=q->c_range;
for(j=0; j<3; j++)
strcpy(*(ch2+j),*(ch1+j));
}


void main()
{
int j;
struct feanode *nb2;
nb2=(struct feanode *)malloc(sizeof(struct feanode));
assert(nb2!=NULL);
memcopy(nb2,&nb1);
for(j=0; j<5; j++)
strcpy(*(nb1.c_range+j),*(nb2->c_range+j));
for(j=0; j<5; j++)
printf("%s\n",*(nb2->c_range+j));
}

多谢了!

搜索更多相关主题的帖子: 结构 
2007-09-18 10:42
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
    memcpy(nb2,&amp;nb1,sizeof(struct feanode));

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-09-18 13:51
快速回复:请教一个带有数组的结构的复制问题
数据加载中...
 
   



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

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