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 :

Problème avec des pointeurs


Sujet :

C

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut Problème avec des pointeurs
    Voila mon soucie est que sa compile parfaitement avec plusieurs avertissement

    conversion de pointeur suspecte.

    Donc je vous résume le code ici et je note ou sa plante:

    le main:
    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
    int main(int argc, char* argv[])
    {
    	unsigned char wnd_Decal;
    	short int xAbs,yAbs;
    	short int *px,*py;
    	unsigned char TabX[4][20],TabY[4][15];
    	px=&xAbs;
    	py=&yAbs;
     
     
     
    	Traitement(&TabX,&TabY,px,py,&wnd_Decal);
     
    	return 0;
    }

    la fonction traitement: qui marche impec au pas a pas:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    void Traitement(unsigned char Tabx[4][20],unsigned char Taby[4][15], short int *px,short int *py,unsigned char *wnd_Decal)
     {
    	unsigned char Num_Fonct=0;
    	int i=0;
     
    	while (i==0)
    	{
    		switch (Num_Fonct)
    		{
    			case 0: *wnd_Decal=1;
    					Absolut(&Tabx,&Taby,px,py,&wnd_Decal);
     
    					if (*py>0 && !wnd_Decal)
    						Num_Fonct=2;
    					else if (*py>0 && wnd_Decal)
    						Num_Fonct=3;
    					else
    						Num_Fonct=0;
    					break;
     
    			case 1: *wnd_Decal=1;
    					Relatif(&Tabx,&Taby,px,py,&wnd_Decal);
    					if (!*py && !wnd_Decal)
    						Num_Fonct=0;
    					else Num_Fonct=3;
    					break;
     
    			case 2: *wnd_Decal=2;
    					Relatif(&Tabx,&Taby,px,py,&wnd_Decal);
    					if (!*py && !wnd_Decal)
    						Num_Fonct=0;
    					else Num_Fonct=3;
    					break;
     
    			case 3: *wnd_Decal=3;
    					Relatif(&Tabx,&Taby,px,py,&wnd_Decal);
    					if (!*py )
    						Num_Fonct=1;
    					else Num_Fonct=3;
    					break;
     
    			default: Num_Fonct=0;
     
    		}
     
    		//On récupère les valeur de X et Y qui sont xAbs et yAbs:test
                    printf(%i,*px);
                    printf(%i,*py);
                    //de toute facon sa arrive pas jusque la^^
    		i++;
    	}
     }

    Et l'endroit ou actuellement sa plante en boucle infini:
    le début de la fonction absolut:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    void Absolut(unsigned char Tabx[4][20],unsigned char Taby[4][15],short int *px,short int *py,unsigned char *wnd_Decal)
     {
    	unsigned char i=0;
    
    	//APPEL A LA FONCTION DE CAPTURE DE LA ZONE IMAGE
    	FullCapture(&Tabx,&Taby);
    
    
    	//coordonnée du centre de la zone
    	while (*py==0 || i<4)
    		{
    			*wnd_Decal=1;
    			ProcProto(&Tabx,&Taby,px,py,&wnd_Decal,i);
    			i++;
    		}
    	if (!*py)
    	{
    		switch (i)
    		{
    		  case 1: Recadrage(px,&py,200,60,1);
    				  break;
    		  case 2: Recadrage(px,py,80,180,1);
    				  break;
    		  case 3: Recadrage(px,py,200,180,1);
    				  break;
    		}
    
    	}
     }
    Désolé ya d'autre fonction mais elle sont un peu longue donc ce n'est que ici que sa plante (joint le .c complet)
    l'endroit ou sa plante est le test sur *py et ensuite si on le suprimme sa replante quand on doit modifier un des 2 pointeurs.

    Donc sa fait pas mal de temps que j'ai plus fait de C et la je galere vraiment ....
    Merci de votre aide
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme de pointeur avec des pointeurs de char *
    Par marime dans le forum Débuter
    Réponses: 4
    Dernier message: 30/09/2013, 13h14
  2. problème de fonction avec des pointeurs
    Par bl4cksky dans le forum Débuter
    Réponses: 16
    Dernier message: 09/09/2013, 12h28
  3. Réponses: 7
    Dernier message: 27/09/2012, 16h29
  4. problème char-actéristique avec des pointeurs
    Par Antigonos Ier Gonatas dans le forum C
    Réponses: 11
    Dernier message: 16/04/2007, 21h22
  5. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26

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