CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

struct

neg282
neg282
Niveau 7
05 octobre 2003 à 12:35:08

Comment je peux faire, dans une structure, pour définir un tableau d´une taille définie par une autre variable de la stucture.
( Un truc un peu comme ca :)

struct HUM
{
int nb;
char text[bn];
};

Gonath
Gonath
Niveau 52
05 octobre 2003 à 13:03:23

Essaie un peu en employant " new", c´est un allocateur d´espace dynamique. parce que ce que tu essaie de faire, ce n´est pas du statique.

JeanYvesYves
JeanYvesYves
Niveau 10
05 octobre 2003 à 13:13:30

En C : faudrait faire :

struct HUM
{
int nb;
char *text;
};

et dès que tu crées une struct, tu fais :

struct HUM s;
s.nb=n; // le n que tu veux
s.text=(char*)malloc(n);

et quand tu la détruis, tu fais :
free(s.text);

C quand meme lourd dingue a faire.
C´est pour ça que je te conseille C++ pour le cas :
tu fais cela :
prépares le truc comme ça :

class HUM
{
public:
int nb;
char* text;
HUM(int nb);
~HUM();
};

HUM::HUM(int nb) // constructeur
{
HUM::nb=nb;
text=new char[nb];
}

HUM::~HUM() // destructeur
{
delete [] text;
}

Quand tu geres cela ensuite tu fais cela :

HUM s(n);

et tu n´as pas a t´occuper du reste, la mémoire est gérée toute seule. ça marche bien ça simplifie, C le bonheur :)

  • note : les puristes me reprocheront d´avoir tout mis en public, mais bon, C pour simplifier, on ne va pas parler d´accesseur maintenant...
Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment