J'expérimente avec Struct, pointeurs et typedef dans le code ci-dessous. Je veux créer un pointeur vers une structure que j'ai créée. Ensuite, je veux manipuler les membres de la structure en utilisant l'opérateur ->.Struct et pointeurs C++
Le code ci-dessous compile bien, cependant, quand je lance le programme, il produit une erreur de segmentation.
Quelqu'un peut-il s'il vous plaît expliquer où ma logique a mal tourné?
Merci.
struct Structure1 {
char c;
int i;
float f;
double d;
};
typedef Structure1* structp;
int main(){
structp s1, s2;
s1->c = 'a';
s1->i = 1;
s1->f = 3.14;
s1->d = 0.00093;
s2->c = 'a';
s2->i = 1;
s2->f = 3.14;
s2->d = 0.00093;
}
Génial !!!! merci beaucoup: D – SeekingAlpha
Notez que l'opérateur 'new' n'est pas le seul moyen d'obtenir une adresse d'un objet valide. Vous pouvez également appliquer l'opérateur '&' à un objet existant du type correct. Ou, dans le cas de "données anciennes", placez un pointeur sur une région de mémoire suffisamment grande. –