Rechercher : dans
Par :

Comprendre structure en C

Dernière réponse le 11 oct 2007 à 01:25:14 ludo, le 22 mai 2007 à 10:19:34 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « comprendre structure en C » dans :
Les structures en langage C Voir Différence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Les structures en langage C++ Voir Différence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Structure logique d'un disque dur VoirStructure logique d'un disque dur Introduction Lorsque vous utilisez votre ordinateur, vos données sont organisées sous forme de fichiers et de répertoires, selon une structure arborescente et ces éléments sont stockés sur votre disque dur. C'est...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

fiddy, le 22 mai 2007 à 10:56:34

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.

Répondre à fiddy

2

emine, le 28 mai 2007 à 13:52:00

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

Répondre à emine

3

Kay, le 5 oct 2007 à 18:00:01

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!!!

Répondre à Kay

4

BloodyAngel, le 5 oct 2007 à 18:37:15

#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...

Répondre à BloodyAngel

5

lami20j, le 6 oct 2007 à 00:59:47

Salut,

ça pourra peut être t'aider
c maudites structures#20 lami20j

Répondre à lami20j

6

tempe, le 6 oct 2007 à 16:44:03

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!!!

Répondre à tempe

7

lami20j, le 6 oct 2007 à 17:49:41

Salut,

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

Répondre à lami20j

8

mamiemando, le 7 oct 2007 à 02:03:00

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) :

#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

Répondre à mamiemando

9

lami20j, le 7 oct 2007 à 09:07:35

Salut Miss,

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;
}


lami20j

Répondre à lami20j

10

mamiemando, le 7 oct 2007 à 11:38:17

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

Répondre à mamiemando

11

lami20j, le 7 oct 2007 à 11:42:41

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 ;-)
lami20j

Répondre à lami20j

12

mamiemando, le 11 oct 2007 à 00:02:28

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.

Répondre à mamiemando

13

 lami20j, le 11 oct 2007 à 01:25:14

Merci ;-) lami20j

Répondre à lami20j