Assignement de struct equivalent à memcpy ?

Assignement de struct equivalent à memcpy ?

by Niels Marco Lachat -
Number of replies: 1

Bonjour,

J'ai une question concernant l'assignement (=) de structs en c.

Pour le code suivant:

===== CODE =====

struct Complex{double x; double y; };

struct Complex z1 = {1.5, 2.2};

struct Complex z2 = {0.0, 0.0};

z2 = z1; // est-ce que ceci

memcpy(&z2, &z1, sizeof(struct Complex)); // est équivalent à cela?

===============

Et de plus, est-ce que si on initialise *pas* un struct, la mémoire qu'il prend lui est quand même réservée. 

Autrement dit, est-ce que la déclaration suffit à réserver (allouer) la mémoire d'une variable?

Merci d'avance

In reply to Niels Marco Lachat

Re: Assignement de struct equivalent à memcpy ?

by Jean-Cédric Chappelier -
  1. oui, exactement.
  2. oui comme n'importe quelle autre variable allouée statiquement (et son contenu n'est pas initialisé).
    Revoir les slides 3 et 4 du cours 6 (pointeurs 2/5).