Déclaration dynamique
Résolu
mektout khaled
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
mektout khaled Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
mektout khaled Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
bonjour tout le monde
j'ai un problème j'arrive pas a compiler un programme dans dev-c++ il me signale qu'il y a une erreur au niveau de la déclaration dynamique , voici le programme:
#include<stdio.h>
#include<conio.h>
#alloc<alloc.h>
main()
{
char *m;int i,n;
i=0;
printf("donner la taille a réserver");
printf("\n");
scanf("%d",&n);
getchar();
m=(char*)malloc(n*size of(char));
printf("donner une phrase qui ne dépasse pas les n lettre");
printf("\n");
gets(m);
while (m[i]!='\0') i++ ;
printf("sa longueur est %d",i);
getch();
}
SVP
SVP
SVP
aider moi
merci infiniment
j'ai un problème j'arrive pas a compiler un programme dans dev-c++ il me signale qu'il y a une erreur au niveau de la déclaration dynamique , voici le programme:
#include<stdio.h>
#include<conio.h>
#alloc<alloc.h>
main()
{
char *m;int i,n;
i=0;
printf("donner la taille a réserver");
printf("\n");
scanf("%d",&n);
getchar();
m=(char*)malloc(n*size of(char));
printf("donner une phrase qui ne dépasse pas les n lettre");
printf("\n");
gets(m);
while (m[i]!='\0') i++ ;
printf("sa longueur est %d",i);
getch();
}
SVP
SVP
SVP
aider moi
merci infiniment
A voir également:
- Déclaration dynamique
- Déclaration - Guide
- En plus des revenus, il ne faut surtout pas oublier de faire cette déclaration en ligne aux impôts - Guide
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
7 réponses
Bonjour,
Est-ce que tu pourrais détailler l'erreur s'il te plaît ?
D'ailleurs tu n'est pas obligé de faire un cast sur le retour de malloc.
Cdlt.
Est-ce que tu pourrais détailler l'erreur s'il te plaît ?
D'ailleurs tu n'est pas obligé de faire un cast sur le retour de malloc.
Cdlt.
Bonjour
Je n'ai pas regardé en détail, mais déjà il faut écrire sizeof (sans espace) et non pas size of
Je n'ai pas regardé en détail, mais déjà il faut écrire sizeof (sans espace) et non pas size of
Bonjour,
Quelques compléments :
D'ailleurs malloc.h n'est pas standard. Il faut inclure stdlib.h
Le prototype de la fonction main() n'est pas main(), mais int main(void)
m=(char*)malloc(n*size of(char));
Cast (char*) totalement superflu . Ce n'est pas size of, mais sizeof (char) (qui vaut 1).
gets(m);
gets() est obsolète. On utilise plutôt fgets() à la place.
Et enfin la fonction main() renvoie 0 quand tout s'est bien passé. Donc : return 0; en fin de fonction.
Après, pour améliorer ton code, tu pourras contrôler le retour des fonctions "critiques".
Cdlt,
Quelques compléments :
D'ailleurs malloc.h n'est pas standard. Il faut inclure stdlib.h
Le prototype de la fonction main() n'est pas main(), mais int main(void)
m=(char*)malloc(n*size of(char));
Cast (char*) totalement superflu . Ce n'est pas size of, mais sizeof (char) (qui vaut 1).
gets(m);
gets() est obsolète. On utilise plutôt fgets() à la place.
Et enfin la fonction main() renvoie 0 quand tout s'est bien passé. Donc : return 0; en fin de fonction.
Après, pour améliorer ton code, tu pourras contrôler le retour des fonctions "critiques".
Cdlt,
oui j'ai essayé sans espace mais ça ne marche toujours pas !!!!!
il n'y a pas une autre solution ????
il n'y a pas une autre solution ????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le problème c'est que le compilateur me signale qu'il y a une erreur dans la ligne suivante:
m=(char*)malloc(n*sizeof(char));
il me l'affiche en rouge !!!!
il écrit dans les messages d'erreurs :
invalid preprocessing directive #alloc
'malloc' undeclared(first use in this function)
svp aider moi
merci d'avance
m=(char*)malloc(n*sizeof(char));
il me l'affiche en rouge !!!!
il écrit dans les messages d'erreurs :
invalid preprocessing directive #alloc
'malloc' undeclared(first use in this function)
svp aider moi
merci d'avance