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: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.
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; ...
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:En opérant comme ca vais-je retrouver tout dans l'ordre?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 copie=(mastructure*)malloc(sizeof(mastructure)); copie=memcpy (copie, source, sizeof(mastructure));
Partager