Ho dedotto che non ho capito niente!!!
Siamo daccordo che questo programma funziona e mi stampa una matrice 10*10 piena di 3.
codice:
#include <stdio.h>
main()
{
int matrice[10][10];
int x, y;
/* riempie la matrice */
for(x=0;x<10;x++)
{
for(y=0;y<10;y++)
{
matrice[x][y]=3; /* assegna all'elemento x,y dell'array il valore x*y */
printf("%d\t",matrice[x][y]);
}
}
getch();
}
Ma facendo questo tentativo, viene la stessa cosa!!!!!
codice:
#include <stdio.h>
main()
{
int matrice[1];
int x, y;
/* riempie la matrice */
for(x=0;x<10;x++)
{
for(y=0;y<10;y++)
{
matrice[x]=3; /* assegna all'elemento x,y dell'array il valore x*y */
printf("%d\t",matrice[x]);
}
}
getch();
Come puo' avvenire lo stesso risultato, anche se ho completamente eliminato le colonne della matrice, ovvero il secodno termine di matrice [10][10]??
Mi viene da supporre che tutto dipenda dai due for.. siccome nei for ho lasciato 10*10, il risultato non cambia..
Ma allora dove vengono scritti i 3??
Non è dunque vero che esiste un vettore le cui celle punatno ad altri vettori e via dicendo...???!! Suppongo di no, dato che ho omesso questi vettori "puntati" dalle celle del vettore originario...