Bonjour,
Je souhaiterais comprendre ce qui se passe au niveau de la memoire lorsqu'une fonction retourne une structure (et non un pointeur vers une structure), comme dans le code ci-dessous. Est-ce qu'il y a une sorte de memcpy() qui est effectué, autre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <stdio.h> #include <stdlib.h> typedef struct { int d; float f; } st; st test(int x, float y) { st this; this.d = x; this.f = y; return this; } int main() { st st1 = test(3, 3.0); st st2 = test(8, 8.0); printf("st1: %d %f\n", st1.d, st1.f); printf("st2: %d %f\n", st2.d, st2.f); return 0; }
Partager