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 :

malloc : je ne comprends pas


Sujet :

C

  1. #41
    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 koala01
    - les char font généralement seulement 1 octet
    Il ne faut pas raisonner en octets (8 bits exactement).

    L'unité de mémoire en C est le char (>= 8 bits). Un char vaut 1 par définition, quelque soit son nombre de bits (>= 8).

    La taille retournée par sizeof est en char et non en octets.

  2. #42
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Il ne faut pas raisonner en octets (8 bits exactement).

    L'unité de mémoire en C est le char (>= 8 bits). Un char vaut 1 par définition, quelque soit son nombre de bits (>= 8).

    La taille retournée par sizeof est en char et non en octets.
    Tout juste "auguste"...

    Je n'ai pris ce raccourcis uniquement dans un but de simplicité, de manière à permettre un raisonnement "sensé"... Mais la précision vallait la peine

    Citation Envoyé par Emmanuel Delahaye

    Citation Envoyé par koala01
    Le résultat de l'allocation dynamique doit etre envoyé, non pas sur une variable, mais sur quelque chose qui est en mesure de prendre comme valeur une adresse mémoire.

    Ce quelque chose s'appelle un pointeur.
    Et c'est une variable !
    Et c'est une variable !

    http://emmanuel-delahaye.developpez.....htm#pointeurs
    Aussi... mais, dans le sens ou TOUT peut etre considéré comme variable (même les constantes ... qui ne sont que des variables... qui ne peuvent pas varier ), que le terme pointeur existe JUSTEMENT pour indiquer que la variable contient une adresse mémoire, ben, j'ai estimé préférable de ne pas embrouiller les choses avec cette considération...

    Tes deux remarques sont tout à fait fondées, et les précisions sont justifiée, mais, dans le cadre de ce que j'essayais d'expliquer, elles n'auraient eu qu'un seul effet: rendre les explications encore un peu plus brumeuses... En tout cas, c'est mon avis, et je le partage

  3. #43
    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 koala01
    Aussi... mais, dans le sens ou TOUT peut etre considéré comme variable (même les constantes ... qui ne sont que des variables... qui ne peuvent pas varier ),
    Non. Une expression constante (123, (1+2), 'A', NULL, sizeof(int), etc. aka 'valeur immédiate') n'a pas d'adresse. Ce n'est donc pas un objet (une variable).

    Ne pas confondre avec les objets en lecture seule (qualifiés const) ou les noms de tableaux (non modifiable l-values).

Discussions similaires

  1. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 09h46
  2. [thread][methodologie]Quelque chose que je ne comprends pas!
    Par norkius dans le forum Général Java
    Réponses: 5
    Dernier message: 16/03/2005, 14h01
  3. sql ne comprend pas mon where!et me demande des parametres
    Par marie10 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/04/2004, 11h08
  4. [Rave] un message que je ne comprends pas
    Par Clotilde dans le forum Rave
    Réponses: 2
    Dernier message: 30/09/2003, 21h46

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