[問題] 如何進行 struct 之複製?
遇到的問題: (題意請描述清楚)
我自定義一個struct , 內容大概如下
typedef struct chrom{
BOOL *x1;
BOOL *x2;
UINT x1_len;
UINT x2_len;
double fitness;
};
同時程式會進行幾個特殊動作
chrom *parent, *pool, *child;
parent = (chrom*)malloc(sizeof(chrom)*parent_cnt); // pool, child 同理
for(UINT i=0; i<parent_cnt; i++){
parent[i].x1 = (bool*)malloc(sizeof(bool)*x1_len);
parent[i].x2 = (bool*)malloc(sizeof(bool)*x2_len);
} // pool, child 同理
問題1:
若我要將 parent 之所有值都丟到 pool 裡面去
除了使用2個 for loop 一個一個 assign 之外, 是否有更快的方法??
如欲使用 memcpy 之方式, 請問 size 那裡該如何表示??
問題2
若設 chrom best;
而 best 只是複製 parent 其中的一個,
試問 memcpy 之方式是否會簡單些??
謝謝各位的細心回覆, 感激不盡!!
--
我期待 我等待
肩狹骨上的翅膀早些長出來
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.77.80
※ 編輯: tropical72 來自: 180.177.77.80 (05/16 00:52)
→
05/16 00:58, , 1F
05/16 00:58, 1F
推
05/16 01:00, , 2F
05/16 01:00, 2F
→
05/16 01:00, , 3F
05/16 01:00, 3F
→
05/16 01:00, , 4F
05/16 01:00, 4F
→
05/16 01:01, , 5F
05/16 01:01, 5F
→
05/16 01:02, , 6F
05/16 01:02, 6F
→
05/16 01:03, , 7F
05/16 01:03, 7F
→
05/16 01:03, , 8F
05/16 01:03, 8F
→
05/16 01:04, , 9F
05/16 01:04, 9F
→
05/16 01:04, , 10F
05/16 01:04, 10F
推
05/16 01:05, , 11F
05/16 01:05, 11F
→
05/16 01:05, , 12F
05/16 01:05, 12F
→
05/16 01:06, , 13F
05/16 01:06, 13F
→
05/16 01:08, , 14F
05/16 01:08, 14F
→
05/16 19:14, , 15F
05/16 19:14, 15F
→
05/16 22:13, , 16F
05/16 22:13, 16F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章