PDA

View Full Version : variabili globali


antimon
10-05-2007, 12:46
ciao...è possibile dichiarare una matrice di stringhe con argomenti in numero variabile a livello globale...mi spiego meglio, possono essere variabili globali queste:

int x, y;
char *matrix[x][y];

i valori di x e y sono poi definiti in main...:stordita:

wisher
10-05-2007, 12:56
No, così non funziona.
C alloca lo spazio in memoria quando è dichiarata la variabile, ma se i valori x e y non sono ancora definiti quando allochi la matrice non funziona.
Puoi risolvere allocando dinamicamente la memoria.
Prova a cercare qualcosa sulle funzioni malloc / free e sull'aritmetica dei puntatori.
Se ci sono dubbi chiedi pure

stdecden
10-05-2007, 13:05
Io non ti consiglio di usare una matrice bidimensionale perché in questo caso almeno il primo indice deve essere definito per poterlo utilizzare:

int x[2][] = {1,2,3,4}; // OK
int x2[][] = {1,2,3,4}; // Errore, il compilatore non sá come interpretarlo

yorkeiser
10-05-2007, 13:23
[EDIT]
.
[EDIT]

antimon
10-05-2007, 15:06
per il momento ho creto una matrice globale di dimensioni X Y definite come costanti...credo che il programma lavorerà con matrici di dimensioni costanti...quindi anche se non è la soluzione ottimale è sufficiente..visto che funziona :p