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

 Delphi Discussion :

Quelle est la Taille maxi d'un Array ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Par défaut Quelle est la Taille maxi d'un Array ?
    bonsoir a tous!

    suite a un exercice 'bidon' Quelle est la Taille maxi d'un Array ?
    il y a une règle?
    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    Avec une petite recherche, on obtiens théoriquement :
    Maxint - SizeOf(Longint) * 2 (soit 2 147 483 639)

    En pratique je pense que ca dépend grandement du matos de la machine et surtout de la mémoire disponible ...

  3. #3
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    La taille max d'un tableau est effective de :

    la taille de ses éléments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array[0..MAXINT-1] of byte
    et sur x64

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array[0..MAXDWORD-1] of byte
    sont théoriquement faisable ...

    ensuite plus les éléments sont "gros" plus il faut réduire le tableau :

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    const 
      MAXARRAY = 1 shl 30; // 1Go Max 
     
    type 
      TValueA = LongWord;
      TValueB = record
        A,B,C,D : LongWord;
      end;
      TArrayA = array[0..(MAXARRAY div SizeOf(TValueA))-1] of TValueA; // 268 435 456 elements / 1Go
      TArrayB = array[0..(MAXARRAY div SizeOf(TValueB))-1] of TValueB; // 67 108 864 elements / 1Go

    un exemple made in Borland avec le TPointerList utilisé dans TList :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    const
      MaxListSize = Maxint div 16; // 134 217 728 elements max / 512Mo max
     
    type
      PPointerList = ^TPointerList;
      TPointerList = array[0..MaxListSize - 1] of Pointer;


    autre solutions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    type
      TProfondisArray = packed array[0..0] of Longint;
      PProfondisArray = ^TProfondisArray;
    Tel que sont déclaré PChar, PBytes etc.
    à utiliser avec AllocMem et FreeMem.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

Discussions similaires

  1. [Sockets UDP] Quelle est la taille max d'un message UDP en unicast?
    Par jlassiramzy dans le forum Entrée/Sortie
    Réponses: 30
    Dernier message: 27/02/2007, 09h24
  2. Quelle est la taille de la mémoire allouée à la JVM ?
    Par emie31 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/11/2006, 21h42
  3. Réponses: 5
    Dernier message: 08/11/2006, 11h41
  4. quelle est la taille maximale en nbre de caract d'un chp text
    Par harlock59 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/07/2006, 18h43
  5. [SGBD] [PHP/MySQL Query]Quelle est la taille du tableau retourné?
    Par Jean_Benoit dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 07/10/2005, 19h10

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