Bonjour à toutes et à tous.

Je désire copier une structure allouée dynamiquement. Jusqu'à présent j'allouais un nouveau bloc mémoire puis copiais une à une les variables de la source vers la copie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
mastructure *source;
mastructure *copie;
 
copie->a=source->a;
copie->b=source->b;
...
J'ai besoin de rapidité pour mon application. Ce matin m'est venu une idée farfelue mais qui me semble être correcte. Je vous la pose donc en attendant vos commentaires éclairés.

En admettant que toutes les données de mastructure ne soient que des données simples (pas de liste chaînée par exemple) puis-je faire une copie du bloc mémoire entier de source directement dans copie comme ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
copie=(mastructure*)malloc(sizeof(mastructure));
 
copie=memcpy (copie, source, sizeof(mastructure));
En opérant comme ca vais-je retrouver tout dans l'ordre?