Erreur de segmentation

Résolu
cool2source Messages postés 15 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 24 novembre 2010 - 23 nov. 2010 à 03:50
cool2source Messages postés 15 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 24 novembre 2010 - 24 nov. 2010 à 05:15
Bon je dois encore avoir du mal avec les pointeurs ( visiblement)...
Je compile le code ci-dessous avec gcc et le seul résultat que j'obtiens est : "Erreur de segmentation" .

Code :
int main(int nb_arg, char **arg)
{
long *ptr;
fonction(ptr);
printf("%ld",*ptr);
return 0;
}

void fonction(long *ptr)
{
*ptr=1;
}

merci

4 réponses

dragonjoker59 Messages postés 92 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 23 septembre 2015
23 nov. 2010 à 16:55
Si ton fonction ne fait que ce genre de travail, il est inutile d'utiliser les pointeurs.
Utilise plutôt une référence :
void fonction(long & val) 
{ 
val = 1; 
}

int main(int nb_arg, char **arg) 
{ 
long val; 
fonction( val); 
printf( "%ld", val); 
return 0; 
} 

Ca t'évitera de t'encombrer avec des pointeurs, mais sache que pour utiliser la fonction que tu as actuellement, tu peux faire ceci :
long val; 
fonction( & val); 


Coin coin !
3
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
23 nov. 2010 à 08:57
Salut

Juste une question : ton pointeur, il pointe vers quelle variable?
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
23 nov. 2010 à 09:35
Yo!
Comme le dit Pistol_Pete, il manque la variable pointée par ton pointeur.
Un truc du style:
long lvar;
long *ptr = &lvar;
...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
0
cool2source Messages postés 15 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 24 novembre 2010
24 nov. 2010 à 05:15
merci pour vos réponses ! :)
0
Rejoignez-nous