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 :

allocation de la memoire


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    ecole superieure de technologie
    Inscrit en
    Novembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : ecole superieure de technologie
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 34
    Points : 24
    Points
    24
    Par défaut allocation de la memoire
    j'ai un probleme
    quand j'ecris ce code
    Code c : 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
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int main(){
         int   i , n  ;
         int *t ;
         printf("entrez le nombre d'elements du tableau");
         scanf("%d",&n);
         t=malloc(n*sizeof(int));
         for(i=0 ; i<n ; i++)
         {
                 printf("entrez l'element no %d " , i+1);
                 scanf("%d",(t+i));
                 }
         for(i=0 ; i<n ; i++)
         {
                 printf("%d",*(t+i));
                 }
         getch();
         }
    ca se compile pas
    le compilateur déclare une erreure invalid conversion from '*void' t '*int'
    je sais pas si c'est un probleme de compilateur ou quoi ?
    merci d'avance

  2. #2
    Membre éprouvé
    Avatar de mitkl
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 364
    Points : 1 081
    Points
    1 081
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         t = (int*) malloc(n*sizeof(int));
    Quel compilateur utilises-tu d'ailleurs ? Je viens de tester ton code avec GCC -Wal, je n'ai pas de warning sur la conversion de void* en int* et la compilation fonctionnait parfaitement.
    Si vous ne savez toujours pas ce qu’est la récursivité, relisez cette phrase.

    Mon blog sur la programmation et l'informatique !

  3. #3
    Membre à l'essai
    Homme Profil pro
    ecole superieure de technologie
    Inscrit en
    Novembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : ecole superieure de technologie
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par mitkl Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         t = (int*) malloc(n*sizeof(int));
    Quel compilateur utilises-tu d'ailleurs ? Je viens de tester ton code avec GCC -Wal, je n'ai pas de warning sur la conversion de void* en int* et la compilation fonctionnait parfaitement.
    j'utilise dev-c++

  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
    Tu compiles en C++, pas en C. En C++, la conversion void* -> autre type de pointeur n'est pas implicite.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  5. #5
    Membre à l'essai
    Homme Profil pro
    ecole superieure de technologie
    Inscrit en
    Novembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : ecole superieure de technologie
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par diogene Voir le message
    Tu compiles en C++, pas en C. En C++, la conversion void* -> autre type de pointeur n'est pas implicite.
    hmm merci infiniment

Discussions similaires

  1. [map] allocation et consommation memoire
    Par vince3320 dans le forum C++
    Réponses: 3
    Dernier message: 22/08/2006, 18h14
  2. Allocation Dynamique de Memoire Avec Operateur New
    Par msstaf dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/06/2006, 15h49
  3. Allocation dynamique de memoire
    Par beb30 dans le forum C
    Réponses: 5
    Dernier message: 25/04/2006, 18h06
  4. strategie d allocation de la memoire
    Par harris_macken dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 17/11/2005, 14h29

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