Quel est le problème avec ce code? Je ne comprends pas pourquoi cela ne fonctionne pas.
struct point {
int x;
int y;
} eh;
void main() {
eh = {1, 2};
printf("%i", eh.x);
}
mais cela fonctionne bien
struct point {
int x;
int y;
} eh;
void main() {
eh.x = 2;
printf("%i", eh.x);
}
Ce type de syntaxe pourrait fonctionner dans d'autres langues, mais en C, vous devriez écrire:
eh = (struct point){1, 2};
L'expression sur le côté droit s'appelle un littéral composé.
Cela fonctionnerait également:
#include <stdio.h>
struct point {
int x;
int y;
};
int main(void) {
struct point eh = {1, 2};
printf("%i", eh.x);
}
Notez que j'ai supprimé certaines choses autour, ajouté le stdio.h
Inclure et corrigé le type de fonction main
et arguments.