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 :

Utilisation tableau dynamique


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Utilisation tableau dynamique
    Bonsoir ça fait pas mal de temps que j'essaie de comprendre les pointeur complexe quand meme. J'ai essayé d'inserer un pointeur dans un code mais je ne sais pas si je l'ai bien appliqué ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    int main(int argc, char *argv[])
    {
     
    int i;
    int *tab;
    tab=(int *)malloc(i*sizeof(int));
     
    int nombre_recherche=0;
    int nb=0;
     
    printf("Ce programme permet de trouver toutes les occurrences d'un nombre.\n");
    printf("Entrer 10 nombres:\n");
     
    for (i=0;i<10;i++)
    {
        printf("t[%d]: ",i);
        scanf("%d",&tab[i]);
    }
     
    printf("Entrez le nombre a rechercher : ");
    scanf("%d",&nombre_recherche);
     
    for (i=0;i<10;i++)
    {
        if (tab[i] == nombre_recherche)
        {
     
                   printf("t[%d],",i);
    			   nb++;
        }
    }
    printf("\n%d occurent(s) trouve(s).\n",nb);
     
    free(tab);
    Voila merci de votre attention

  2. #2
    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
    et quelle est la questions ?

    sinon, en regardant ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int i;
    int *tab;
    tab=(int *)malloc(i*sizeof(int));
    à ton avis, que vaut i au moment du malloc ?
    tu ne le sais pas... c'set normal !
    peut être devrait tu initialiser i AVANT de faire appel à malloc !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    i = 0; alors

  4. #4
    Expert éminent sénior
    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
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab=(int *)malloc(i*sizeof(int))
    Non, pas i = 0 : le comportement d'un malloc avec 0 pour argument dépend de l'implémentation.

    Si on regarde ton code, on voit que tu vas mettre 10 int dans ce tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i=0;i<10;i++)
    {
        printf("t[%d]: ",i);
        scanf("%d",&tab[i]);
    }
    On en déduit que i >= 10, sinon ça va planter !

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 395
    Points : 23 756
    Points
    23 756
    Par défaut
    Citation Envoyé par boubz013 Voir le message
    Bonsoir ça fait pas mal de temps que j'essaie de comprendre les pointeur complexe quand meme.
    Ça correspond à une réalité physique : l'adresse mémoire où se trouve l'objet pointé. Pour comprendre, il faut donc d'abord être au clair sur ce qu'est une adresse mémoire et, d'une manière générale, comment le micro-processeur dialogue avec la mémoire et avec les autres périphériques. Une fois que tu sauras cela, les pointeurs en C te paraîtront limpides.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. Réponses: 1
    Dernier message: 16/05/2008, 17h53
  3. Utilisation d'un tableau dynamique
    Par colorid dans le forum Langage
    Réponses: 1
    Dernier message: 16/11/2007, 10h10
  4. [Kylix] tableau dynamique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 31/10/2002, 08h57
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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