IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

variable length arrays


Sujet :

C

Vue hybride

yan variable length arrays 12/09/2007, 22h11
Médinoc Sur la pile, je crois. Comme... 12/09/2007, 22h40
Gruik Salut, Je n'ai jamais... 12/09/2007, 22h40
yan Donc c'est plustôt pour des... 12/09/2007, 22h50
Gruik Ouais mais tout est relatif,... 12/09/2007, 23h08
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut variable length arrays
    Bonjour,
    pourriez vous me dire où est alloué la mémoire pour la tableau de type VLA?
    - sur la pile : donc limité
    - sur le tas : limité par l'os

    merci

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Sur la pile, je crois. Comme les autres tableaux en variables locales...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salut,
    Je n'ai jamais utilisé les VLA mais d'apres ce que je lis dans la norme, on parle pas de pile ou de tas, juste de durée de vie des objets. De le cas d'un tableau local à une fonction ou un bloc de code, ça se comporte comme une variable locale classique :
    Citation Envoyé par ISO/IEC 9899:TC2, chap 6.2.4
    For such an object that does have a variable length array type, its lifetime extends from the declaration of the object until execution of the program leaves the scope of the declaration

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Gruik Voir le message
    Salut,
    Je n'ai jamais utilisé les VLA mais d'apres ce que je lis dans la norme, on parle pas de pile ou de tas, juste de durée de vie des objets. De le cas d'un tableau local à une fonction ou un bloc de code, ça se comporte comme une variable locale classique :
    Donc c'est plustôt pour des tableaux de petite taille?
    car si c'est comme une variable locale, les VLA sont alloué sur la pile, et la pile y as pas tant de place que ça?

  5. #5
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Ouais mais tout est relatif, faut voir par rapport au systeme, et faut voir qu'est ce qu'on appelle "tableau de petite taille"
    Sous linux, on m'avait parlé de la commande "limits" qui donne la taille max de la pile pour un processus

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/08/2009, 11h06
  2. Mettre une variable dans array
    Par Freedolphin dans le forum Langage
    Réponses: 9
    Dernier message: 22/07/2008, 13h43
  3. [RegEx] Mon regex ne fonctionne pas..la variable retourne Array
    Par joboy84 dans le forum Langage
    Réponses: 1
    Dernier message: 09/06/2008, 18h11
  4. Erreur:No size set for variable length data type: String
    Par yacinus2007 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 03/07/2007, 18h39
  5. [Tableaux] $variable et Array
    Par dunbar dans le forum Langage
    Réponses: 7
    Dernier message: 02/09/2006, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo