[C] pb pour passer une matrice en parametre d'un fonction

pb pour passer une matrice en parametre d'un fonction [C] - C - Programmation

Marsh Posté le 06-10-2009 à 20:45:21    

Voila je bug depuis tout à l'heure sur une erreur con qui me ****  :pt1cable:  
 
vla le code :
 

Citation :

#include <stdio.h>
#include <stdlib.h>
 
#define L 19
#define C 13
 
...
 
void affich(int **grille);
 
 
int main(){
 int grille[L][C];
 
 /*
        ...
 */
 affich(grille);
 
}
 
void affich(int **grille){
 /*
        ...
       */
}


 
et l'erreur à la compilation

Citation :

attention : passing argument 1 of ‘affich’ from incompatible pointer type


 
je maîtrise pas encore bien les pointeur et ai essayer toute les solutions possible (comme affich(**grille); affich(grille[L][C]); ou autre à l'appel de la fonction).
 
Apres une heure de recherche je viens ici vous demander votre aide.
 
merci :jap:


---------------
feedback
Reply

Marsh Posté le 06-10-2009 à 20:45:21   

Reply

Marsh Posté le 06-10-2009 à 21:28:46    

Code :
  1. int **matrice,i;
  2. matrice = (int **)malloc(sizeof(int*) * 19);
  3. for(i = 0 ; i < 19 ; i ++){
  4.    matrice[i] = (int *)malloc(sizeof(int)*13);
  5. }


 
ça devrai aller mieux, d'après mes souvenirs de C


---------------

Reply

Marsh Posté le 06-10-2009 à 21:43:30    

bien joué ça marche  :wahoo:  
 
mais pourquoi ?
 
s'pas la meme chose :
 
      matrice[10][15];
 
et  
 
      matrice = (int **)malloc(sizeof(int*) * 10);
      for(i = 0 ; i < 10 ; i ++){
          matrice[i] = (int *)malloc(sizeof(int)*15);
      }
 
s'quoi la différence :??:


---------------
feedback
Reply

Marsh Posté le 06-10-2009 à 21:45:11    

pas le meme type int[][] Vs int **
statique Vs dynamique
 
je suis trop rouillé pour te donner plus d'explication ( le dernier code en C que j'ai compilé, c'était en 2002)


---------------

Reply

Marsh Posté le 06-10-2009 à 21:45:49    

tableau != pointeur

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed