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 :

memory corruption error


Sujet :

C

  1. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 115
    Par défaut
    Content que tout fonctionne pour revenir sur un point :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%d ",(*m)[i][j]);
    (*m)[i][j] te permet bien d'accéder à ton tableau pas de soucis en revanche *m[i][j] ne donnera pas le même résultat, je pense que cela donne *((m+i)+j), si quelqu'un peut confirmer ou infirmer

  2. #22
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je confirme

    Par exemple, si i=2, j=3 et largeur tableau=10
    m[i][j] donne accès à la cellule 23
    alors que ((m+i)+j) donne accès à la cellule 5
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #23
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Citation Envoyé par Odulo Voir le message
    ....
    (*m)[i][j] te permet bien d'accéder à ton tableau pas de soucis en revanche *m[i][j] ne donnera pas le même résultat, je pense que cela donne *((m+i)+j), si quelqu'un peut confirmer ou infirmer
    Le résultat est bien différent, mais les expressions sont plus complexes :

    m[i] est équivalent à *(m+i),
    m[i][j] est donc équivalent à *(m[i]+j) soit *(*(m+i)+j)

    *m[i][j] est alors équivalent à **(*(m+i)+j)
    alors que
    (*m)[i][j] est lui équivalent à *(*(*m+i)+j)

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 115
    Par défaut
    effectivement, je suis me suis trompé en postulant m[i] = m+i, j'avais oublié *

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/06/2009, 00h10
  2. [C] Malloc, memory Corruption
    Par publicStaticVoidMain dans le forum C
    Réponses: 2
    Dernier message: 18/05/2009, 01h39
  3. Réponses: 0
    Dernier message: 18/09/2007, 19h07
  4. memory corruption
    Par GLSpirit dans le forum C++
    Réponses: 2
    Dernier message: 23/05/2007, 08h42
  5. Réponses: 2
    Dernier message: 13/02/2007, 12h28

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