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 :

les pointeurs stocker et afficher les donnees


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut les pointeurs stocker et afficher les donnees
    bonsoir,
    je fais ce programme qui stock et affiche les donnees
    exist-il des erreurs ?

    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
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #define N 12
     
    int main(void)
    {
        int X;
    	int *P,i;
    	printf("Introduire le nombre de valeurs :");
    	scanf("%d", &X);
    	P = (int *)malloc(X*sizeof(int));
    	for(i=0;i<X;i++)
    		scanf("%d",&P[i]);
    	for(i=0;i<X;i++)
    		printf("%d\n",P[i]);
    	return 0;
    }
    dans ce programme il y a une petite probleme
    ici comment j'initialise P a nouveau pourque je puisse afficher les nombre entree et merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    	for(i=0;i<X;i++,P++)
    		printf("%d\n",*P);
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #define N 12
     
    int main(void)
    {
        int X;
    	int *P,i;
    	printf("Introduire le nombre de valeurs :");
    	scanf("%d", &X);
    	P = (int *)malloc(X*sizeof(int));
    	for(i=0;i<X;i++,P++)
    		scanf("%d",P);
    	for(i=0;i<X;i++,P++)
    		printf("%d\n",*P);
    	return 0;
    }

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Salut.

    Normalement, on ne fait pas de cast avec malloc, en C. Si tu as une erreur, c'est que tu compiles probablement en C++ (vaut mieux compiler en C).

    Pour le reste, je regarderai plus tard

    Edit : là tu fait une allocation dynamique pour un tableau unidimensionnel, que cherches tu à faire avec tes boucles ?

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut
    merci
    je vs attend

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Salut.

    Je répètes donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P = (int *)malloc(X*sizeof(int));
    - Ici tu fait de l'allocation pour un tableau d'int à une dimension de X cases. Ton premier code fonctionne hormis le fait que tu as oublié d'inclure stdio.h pour printf et scanf.

    - Tu fais un cast du malloc parce que tu avais une erreur. Normalement, on est pas obligé de faire un cast (regardes le lien de la FAQ). L'autre jour tu m'a parlé d'une erreur. J'ai fait le test et j'ai la même erreur en compilant en C++ mais pas en compilant en C. Il est donc probable que tu compiles en C++ (à éviter quand on fait du C). Quel est ton OS et avec quel EDI travailles-tu (Code::Blocks, Visual C++, ... ou même gcc en ligne de commande) ? Et quel est l'extension de ton/tes fichier(s) sources ?



    Citation Envoyé par Dr walid Voir le message
    ici comment j'initialise P a nouveau pourque je puisse afficher les nombre entree et merci
    On initialise un pointeur avec NULL :

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/04/2009, 13h32
  2. Afficher les objets access : peut-on les trier ?
    Par Godzestla dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/02/2009, 21h45
  3. Réponses: 5
    Dernier message: 31/05/2007, 13h10
  4. [VBA-E]afficher les cellules et rien que les cellules.
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/03/2007, 16h17
  5. Comment fait ça avec les pointeurs, la fonction et les struc
    Par mahdianis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/02/2006, 18h01

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