该怎样复制一个带着数组的结构?该如何解决

该怎样复制一个带着数组的结构?定义了一个结构如下所示:structfeanode{charfeaname[5]inttype/*每个特性

该怎样复制一个带着数组的结构?
定义了一个结构如下所示:

struct   feanode
{
char   feaname[5];
int   type;/*   每个特性的取值类型,0为字符型,1为整型,2为浮点型   */
union   range/*   每个特性的取值范围   */
{
char   *c_range[3];
int   i_range[3];
double     d_range[3];
}range;
}feanode;

如果用memcpy复制一个这样的结构,那么在所复制的结构中,是否包含了那些数组,比如feaname数组,*c_range数组等。或着说,所复制的结构中那些数组是以指针形式存在,还是象int   type这样以数据块的形式存在于所复制的结构中?另外,对于字符数组,如char   *c_range[3],如果需要单独复制,利用strcpy,该怎样表示(char   **ch1,**ch2)?
strcpy((ch2+j),(ch1+j)),还是strcpy(*(ch2+j),*(ch1+j))?

[解决办法]
如果是指针的话,复制的只是指针的值,他们指向的是同一块内存空间,这可能是你不想见到的,所以最好malloc一块空间将指针部分另外copy