Bonjour à tous,

Me revoila encore avec mes tableaux doubles entrées...

Alors voila, j'ai un tableau de 255 lignes et 255 colonnes qui est déja rempli. j'ai deux variables int u et v et je voudrais faire une action à chaque fois que tableau[u][v] est supérieur à 10 par exemple.

Voila le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
int* tab_reference[255][255];
int u=0;
int v=0;
u=ess.val[1];
v=ess.val[2];
 
printf("u=%d  et v=%d\n",u,v);
printf("tab reference = %d\n",tab_reference[u][v]);
if(*(tab_reference[u][v]) > 5)
{ 
//faire quelque chose
					}
Alors voila il ya plusieurs choses que je comprends pas : on m'a appris que lorsque l'on déclarait un pointeur avec une étoile comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int* tab_reference[255][255];
pour obtenir la valeur de mon pointeur (son contenu pas son adresse ) il fallait mettre une étoile devant, or le printf marche très bien...

Ensuite j'ai d'abord fais une condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if((tab_reference[u][v]) !=0)
et la tout marchait bien. Puis j'ai voulu la modifier et mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if((tab_reference[u][v])>5)
et c'est la que les ennuis ont commencé... j'ai obtenu l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
error C2446: '>'*: pas de conversion de 'int' en 'int *'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
error C2040: '>'*: les niveaux d'indirection de 'int *' et de 'int' sont différents
...
C'est pour ca que j'ai mis une étoile dans le code en haut dans ma condition. Ainsi le programme compile très bien mais dès que j'execute, le programme cesse de fonctionner sans aucune explication...

J'espère avoir été assez claire... désolée pour l'édit,erreur de manip.

Merci pour vos réponses