Comprendre structure en C
Résolu
ludo
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Salut,
Je voudrais savoir si une structure (en C) a une valeur de départ.
Je m'explique:
ex: Struct toto{
int x;
float y;
void tata;
...
}
Si je fais toto=Une_autre_variale;
ou if (!toto)
Es que quelqu'un sauré ce que cela veut dire?
Merci
Je voudrais savoir si une structure (en C) a une valeur de départ.
Je m'explique:
ex: Struct toto{
int x;
float y;
void tata;
...
}
Si je fais toto=Une_autre_variale;
ou if (!toto)
Es que quelqu'un sauré ce que cela veut dire?
Merci
A voir également:
- Comprendre structure en C
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Structure url - Guide
- Trouvez l'erreur dans la structure du document et corrigez-la. - Forum Word
- Error pdf structure 40 - Forum PDF
12 réponses
Non cela n'a pas une valeur de départ. Cependant il s'agit d'un type donc cela ne risque pas de plaire au compilateur. De plus, il est d'usage de commencer par une lettre en majuscule le nom de ta structure. Ainsi tu n'aura plus ce problème.
je crois qu'il faudrait initialisé une autre variable de mm type structure puis faire une initialisation mais jamais dans un champ on ne peut initialisé mais parcontre tu peux utiliser un tableau et donner le nombre d'élements de te tableau
Bonjour,
j'ai un énorme problème! En fait je dois rédiger une structure en C mais je ne comprends pas comment ça se présente. Que dois - je mettre dans "int main", où dois écrire le nom de ma structure.nom de ma varible et surtout comment ça se présente lors de l'exécution du programme? C'est hyper urgent. Merci d'avance pour les réponses!!!
j'ai un énorme problème! En fait je dois rédiger une structure en C mais je ne comprends pas comment ça se présente. Que dois - je mettre dans "int main", où dois écrire le nom de ma structure.nom de ma varible et surtout comment ça se présente lors de l'exécution du programme? C'est hyper urgent. Merci d'avance pour les réponses!!!
#include...
#include...
main()
{
struct mastruct
{
int var1;
string var2;
}
suite du programme...
}
Tu peux déclarer ta structure dans ou hors du main (ou de n'importe quelle fonction) suivant que tu veux en faire une structure globale ou locale.
Pour y faire appel, tu fais simplement mastruct.var1 par exemple.
Enfin je crois...
ça fait longtemps que j'ai plus fais du C mais ça doit être comme ça...
#include...
main()
{
struct mastruct
{
int var1;
string var2;
}
suite du programme...
}
Tu peux déclarer ta structure dans ou hors du main (ou de n'importe quelle fonction) suivant que tu veux en faire une structure globale ou locale.
Pour y faire appel, tu fais simplement mastruct.var1 par exemple.
Enfin je crois...
ça fait longtemps que j'ai plus fais du C mais ça doit être comme ça...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
merci de m'avoir répondu aussi vite mais ça ne marche toujours pas. Alors je vous inscrit le programme que j'ai rédiger et peut être vous trouverez tout ce qui ne va pas :
#include <stdio.h>
struct complexe z_1{
int re;
int im;
};
struct complexe z_1 = {2, 5};
int main() {
printf("%d\n", z_1.re);
printf("%d\n", z_1.im);
return 0;
}
Merci d'avance pour votre réponse!!!
merci de m'avoir répondu aussi vite mais ça ne marche toujours pas. Alors je vous inscrit le programme que j'ai rédiger et peut être vous trouverez tout ce qui ne va pas :
#include <stdio.h>
struct complexe z_1{
int re;
int im;
};
struct complexe z_1 = {2, 5};
int main() {
printf("%d\n", z_1.re);
printf("%d\n", z_1.im);
return 0;
}
Merci d'avance pour votre réponse!!!
Salut,
tu peux faire comme ça
lami20j
tu peux faire comme ça
#include <stdio.h> struct complexe{ int re; int im; }; struct complexe z_1 = {2, 5}; int main() { printf("%d\n", z_1.re); printf("%d\n", z_1.im); return 0; }ou comme ça
#include <stdio.h> struct complexe { int re; int im; } z_1 = {2, 5}; int main() { printf("%d\n", z_1.re); printf("%d\n", z_1.im); return 0; }--
lami20j
Ou encore mieux (car au final on ne veut ni donner un valeur par défaut à un complexe, ni déclarer de variable globale, ni être dépendant de l'ordre des champs de la structure) :
Bonne chance
#include <stdio.h> struct complexe { int re; int im; }; int main(){ complexe z; z.re = 2; z.im = 2; printf("%d\n", z_1.re); printf("%d\n", z_1.im); return 0; }
Bonne chance
Salut Miss,
ni déclarer de variable globale,
ben, alors, il fallait allait jusqu'au bout ;-)
ni déclarer de variable globale,
ben, alors, il fallait allait jusqu'au bout ;-)
#include <stdio.h> int main(){ struct complexe { int re; int im; }; struct complexe z_1; z_1.re = 2; z_1.im = 2; printf("%d\n", z_1.re); printf("%d\n", z_1.im); return 0; }
Non non justement la structure tu peux en avoir besoin ailleurs que dans le main donc tu la laisse dehors. Par contre il est vrai qu'en C il faut mettre "struct complexe" ou faire un typedef (contrairement au C++).
Bonne chance
Bonne chance
ni déclarer de variable globale,et puis tu dit
en avoir besoin ailleurs que dans le main donc tu la laisse dehors
alors il s'agit bien d'une déclaration globale, et l'initialisation n'empêchera pas de la modifier ;-)
en avoir besoin ailleurs que dans le main donc tu la laisse dehors
alors il s'agit bien d'une déclaration globale, et l'initialisation n'empêchera pas de la modifier ;-)
Le type est global mais pas la structure. Tu peux instancier plusieurs objets de ce type sans aucun problème. La déclaration de la structure doit être globale, mais pas la déclaration de la variable. Quand tu mets des valeurs au moment de déclarer le type de la structure, tu ne fais que spécifier les valeurs par défaut avec lesquelles seront initialisées les instances de cette structure.