Bonjour,
Je développe un soft multithread en C.
Dans ce prgm, une structure peut être utilisée par plusieurs thread à la fois. Je n'arrive pas à me rappeler si lorsqu'on passe une structure en paramètre d'une fonction, elle est passée par valeur ou par référence.
Ma structure est assez spéciale, du genre :
Si j'utilise cette structure gS1 dans la fonction1, est ce que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 typedef struct { int Var1; char Tab1[20]; unsigned char pData*; } MA_STRUCTURE; MA_STRUCTURE gS1; int fonction1(MA_STRUCTURE s) { .... }
- s est une nouvelle variable locale ?
- s.pData à la même adresse que gS1.pData ?
- s.Tab1 à la même adresse que gS1.Tab1 ?
Pour résumer, j'aimerais être sûr qu'il n'y aura pas de conflit d'accès entre les différents threads sur la même variable.
Merci d'avance pour vos réponses.
Partager