Newsgroup: it.comp.lang.c
Titolo: Quesito facile (spero)

Ciao a tutti.
Devo risolvere una sciocchezza ma non ricordo bene come fare.
Non riesco a passare un puntatore a puntatore ad una funzione che deve solo
stamparne il contenuto. Quando viene chiamata la funzione stampa() viene
rilevata una "access violation".posto il codice..(non è molto)
Grazie mille anticipatamente
----
#include <stdio.h>
#include <stdlib.h>
#define SIZE 16
void stampa(unsigned char **m);
int main(){
  unsigned char **matrice,**m;
  int i,j,count=0;
  m=NULL;
  //alloco lo spazio
  matrice = (unsigned char**)malloc(SIZE*sizeof(unsigned char*));
   if(matrice == NULL)  {
       printf("ERRORE: Impossibile allocare la memoria\n");
       exit(1);
         }
   for(i = 0; i < SIZE; i++) {
         matrice[i] = (unsigned char*)malloc(SIZE*sizeof(unsigned char));
         if(matrice[i] == NULL)  {
       printf("ERRORE: Impossibile allocare la memoria\n");
       exit(1);
         }
   }
   //inserisco i dati nella matrice
   for(i=0;i<SIZE;i++)
    for(j=0;j<SIZE;j++){
          matrice[i][j]=1;
          matrice[2][j]=3;
    matrice[4][j]=6;
          matrice[j][5]=10;
    }
 //stampo i dati. la stessa cosa viene fatta dalla funzione stampa()
   for(i=0;i<SIZE;i++)
      for(j=0;j<SIZE;j++) {
        if(count==16)
        {
          printf("\n");
          count=0;
        }
        printf("%d ",matrice[i][j]);
        count++;
      }
 stampa(m);
    return 0;
}
void stampa(unsigned char **m){
 int count=0;
 for(int i=0;i<SIZE;i++)
      for(int j=0;j<SIZE;j++) {
        if(count==16)
        {
          printf("\n");
          count=0;
        }
        printf("%d ",m[i][j]);
        count++;
      }
}

 Devo risolvere una sciocchezza ma non ricordo bene come fare.
Dimenticavo...il debugger mi dice che l'access violation si ha in
         printf("%d ",m[i][j]);
dentro la funzione stampa( )
Grazie ancora per il tempo dedicatomi
Roberto

 > Devo risolvere una sciocchezza ma non ricordo bene come fare.
sono un pollo! (avevo dichiarato m=NULL e volevo stamparlo...mah!) .fate
come se non avessi mai scritto...ma dopo 12 ore a programmare sono
distrutto!!!!
Alla prossima
Roberto

 }
sei nuovo del c? imparerai :)
per quanto riguarda i cicli di stampa cerca di farli un po' piu' "agili" 
   togliendo la variabile count:
void
stampa(unsigned char **m){
    int i,j;
    for(i=0; i<SIZE; i++){
       for(j=0; j<SIZE; j++){
          printf("%d ",m[i][j]);
       }
       printf("\n");
    }
}
ciao,
Nids


purtroppo no...ma erano anni che non programmavo in questo
linguaggio...scusatemi
a presto
ciao

 distrutto!!!!
Allora i sostenitori delle metodologie Agile hanno ragione :)
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 Allora i sostenitori delle metodologie Agile hanno ragione :)
che dicono tali metodologie?


 che dicono tali metodologie?
Obbligano a non "sforare" un certo numero di ore lavorative 
giornaliere... 8 se non erro. Cmq non sono certo un esperto, sull'agile 
programming ed xp programming esistono vari siti e newsgroup ;)


 giornaliere... 8 se non erro.
concordo dati i risultati! :-)

...


 Stefano
Sisi...l'avevo capito :-)