Allocation memoire et fonction .....
Résolu
rocksider
Messages postés
107
Statut
Membre
-
rocksider Messages postés 107 Statut Membre -
rocksider Messages postés 107 Statut Membre -
Bonjour,
j'ai esseyer de voir si comme j'ai pu le lire si c'était possible d'allouer avec une 1er fct puis ensuite de la remplir avec une autre mais ça n'a pas marché. voilà le pti exemple qui me donne l'erreur suivante Erreur de segmentation :(
#include<stdio.h>
#include<stdlib.h>
void test(char *u)
{
u=malloc(5*sizeof(char));
printf("c ok je sort mnt d la fct");
}
int main()
{
char *p;
test(p);
scanf("%s",p);
printf("\n taraaaaaaaa -->%s",*p);
return 0;
}
j'ai esseyer de voir si comme j'ai pu le lire si c'était possible d'allouer avec une 1er fct puis ensuite de la remplir avec une autre mais ça n'a pas marché. voilà le pti exemple qui me donne l'erreur suivante Erreur de segmentation :(
#include<stdio.h>
#include<stdlib.h>
void test(char *u)
{
u=malloc(5*sizeof(char));
printf("c ok je sort mnt d la fct");
}
int main()
{
char *p;
test(p);
scanf("%s",p);
printf("\n taraaaaaaaa -->%s",*p);
return 0;
}
A voir également:
- Allocation memoire et fonction .....
- Mémoire vive - Guide
- Fonction si et - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- C'est un secret bien gardé : ce réglage d'expert peut doper les performances de votre PC - Guide
- Fonction miroir - Guide
3 réponses
Salut,
Dis toi qu'un pointeur c'est une valeur, et cette valeur est une adresse.
Exemple ici si p = NULL, alors ce sera l'équivalent de test(NULL);
De son côté, test() va se créer une variable locale nommée u.
u va prendre la valeur de malloc. C'est à dire une adresse. Mais cette adresse sera perdue par la sutie car elle sera stockée localement dans u, et non pas dans le p.
Dis toi qu'un pointeur c'est une valeur, et cette valeur est une adresse.
char *p; test(p);
Exemple ici si p = NULL, alors ce sera l'équivalent de test(NULL);
De son côté, test() va se créer une variable locale nommée u.
u va prendre la valeur de malloc. C'est à dire une adresse. Mais cette adresse sera perdue par la sutie car elle sera stockée localement dans u, et non pas dans le p.