|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
[c]matrice dinamica da indici noti solo a run time
Codice:
char **alloca_matrice(int all_righe,int all_colonne)
{
char **m;
int ii;
m=(char **)malloc(sizeof(char*)*all_righe);
for(ii=0;ii<all_righe;ii++)
{
m[ii]=(char *)malloc(sizeof(char)*all_colonne);
}
return (m);
}
i miei dubbi sono: 1)è corretto procedere in questo modo? 2)la memoria la devo liberare? 3)questo pezzo di codice è una funzione in cui quello che creo mi serve anche in altre funzioni,ogni volta devo invocarla questa funzione e fargliela rieseguire? |
|
|
|
|
|
#2 | |||
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 1056
|
Quote:
int ii; ii non è inizializzata automaticamente, ed ha il valore di quello che c'era prima in quella locazione di memoria. Quote:
Quote:
|
|||
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
innanzitutto grazie Shinnok.Exor
allora: 1)ii non è inizializzata...lo faccio nel ciclo for,suppongo quindi non sia corretto...sbaglio? 2)la free(m) la devo usare prima di terminare il programma?quindi non alla fine della funzione... 3)la passo cosi la m in un altra funzione ... esempio Codice:
int scrivi_muro( char **matrice,int sm_lcol,int sm_lrig); |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:41.





















