0
我在C以下結構:如何使用memmove與指針指針?
typedef struct {
double value;
char* name;
} COMPONENT;
而且我有一個指針以下矢量:
COMPONENT **list = malloc(sizeof(COMPONENT*)*100);
這個列表包含了只有10球的組成結構,即使分配給100個元素,OK。現在,我想在第一個位置插入一個使用memmove的新COMPONENT:
memmove(list+sizeof(COMPONENT*), list, sizeof(COMPONENT*)*10);
list[0] = new_element_ptr;
但是,此操作不工作= [。我失去了所有其他的參考資料(列表[1],列表[2]等)。這是不同的,因爲它是一個結構,我的向量只有指針?
Humm this works!然後,如果我想把一個元素放在這個列表的特定索引中,就像這樣:size_t copy_size = sizeof(list [0])*(10 - where); memmove(list + where + 1,list + where,copy_size); list [where] = new_element_ptr; ?變量在這裏是指數 –
@AndersonCarniel正確 –
非常感謝你!我不知道C中的指針向量。重要的一課!謝謝! –