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 :

probleme d' allocation


Sujet :

C

  1. #41
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Citation Envoyé par kamouminator
    mais je comprend pas là...quand je defini une variable a de type unsigned int, et que je lui attribue un nombre de 8 octet, et quand je fais printf("%d",a)
    je n'ai pas du tout le nombre attendu...
    il faudrait utiliser autre chose que int alors ? pour moi entier = int !
    Je n'ai pas dit que tu pouvais utiliser n'importe quelle taille.
    J'ai dit qu'une implementation pouvais utiliser n'importe quelle taille du moment quelle est suffisante pour contenir la plage minimale.

    Si sur ton systeme/compilateur les int font 4 octets, ils font 4 octets point barre et tu ne peux pas le changer. Par contre sur un autre systeme/compilateur les int peuvent faire 2 ou 8 octets.

    Pour repondre a ta question : oui il y a une limite mais cette limite n'est pas absolue, elle depends de l'implementation (ie de son compilateur et de la plateforme).
    Si chez toi elle est de 4 octets et que tu mets un nombre trop grand, le int ne va pas s'aggrandir par miracle mais ton programme ne fonctionnera pas correctement.

    Le but de mon message initiale (qui ne devait pas etre tres clair) n'etait pas de dire que tu peux avoir la taille de int que tu souhaites mais de dire que pretendre "un int c'est 4 octets" est faux, ca depends.

    Sinon plus pratiquement, pour etre sur d'avoir un programme portable, il faut se limiter a la plage garantie au adapter le comportement en fonction du contenu de <limits.h>.

    ah ok, je ne savais pas qu'il était possible de changer cette limite !
    Entendons-nous bien, cette valeur depends certes de l'implementation, mais il n'est pas possible de la changer.

  2. #42
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par kamouminator
    ah ok, je ne savais pas qu'il était possible de changer cette limite !
    Et tu as l'intention de faire quoi pour changer cette limite ?

    Ca fout la trouille.
    Pas de Wi-Fi à la maison : CPL

  3. #43
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Points : 354
    Points
    354
    Par défaut
    ok !!

    moi je pensais au debut que ca dependais des machines, genre les machines 16 bits ont des int de 2 octets
    celles de 32 bits des int de 4...
    un truc du genre !
    d'ailleur chez moi c'est bien 4 octets !
    c'est le fait de me dire qu'on pouvais avoir des entiers de 8octets qui m'a derouté ! j'ai mal compris...j'ai cru que tu voulais dire que c'etait possible partout...
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  4. #44
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par kamouminator
    moi je pensais au debut que ca dependais des machines,
    Et c'est la cas.

    Chaque compilateur est dédié à une machine et il tient compte des contraintes de celle-ci.
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. probleme d'allocation dynamique de mémoire
    Par Blo0d4x3 dans le forum C
    Réponses: 2
    Dernier message: 13/03/2007, 07h53
  2. Probleme d'allocation dynamique
    Par Xav987 dans le forum C++
    Réponses: 6
    Dernier message: 04/03/2007, 13h43
  3. Probleme d'allocation avec un malloc
    Par theshark85 dans le forum C
    Réponses: 11
    Dernier message: 25/04/2006, 17h30
  4. probleme d allocation avec un tableau de BYTE
    Par e1lauren dans le forum C++
    Réponses: 5
    Dernier message: 06/05/2005, 13h42
  5. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 16h27

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