Quote:
Originariamente inviato da mic85rm
cmq perche' se ho x=0 e y=9 per esempio non mi da quell'errore?
|
E' da più di 4 anni che non tocco codice C, quindi chiedo venia se dico inesattezze, eventualmente qualcun'altro preciserà le cose.
Da quello che ricordo, usare un numero negativo come indice per deferenziare una locazione di un array, di per se non si può.
Però secondo le regole dell'aritmetica dei puntatori a[i] viene trattato esattamente come *(a+i), dove a è un puntatore.
Questo per il discorso sull'aritmentica dei puntatori.
Nel tuo codice "L" non è un array in senso stretto, ma un puntatore, quindi L[x+1][y], con x che vale 0 e y che vale 9 equivale a *(L+0+1+9).
Con x che vale 1 e y che vale 8 viene fuori *(L+1+1+8), e così via.
Probabilmente prima o poi "sfori" e vai a puntare fuori dalla memoria che hai allocato per l'array bidimensionale...