Ciao a tutti, stavo tentando di svolgere un esercizio sfruttando la correlazione tra puntatori e array, quindi utilizzando
l'arimetica dei puntatori volevo leggere l'indirizzo di ogni cella di memoria in un array a tre dimensioni.. questo è il
codice che funziona, ma che utilizza l'indicizzazione dell'array:
#include <iostream>
using namespace std;
int main()
{
int punt [3][4][2]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int a,b,c,*p;
p=&(punt[0][0][0]);// ciò significa che p=punt[0][0][0]
for(a=0;a<=2;a++){
for(b=0;b<=3;b++){
for(c=0;c<=1;c++){
cout << &(punt[a][b][c]) << "\n";
}
}
}
}
è possibile fare la stessa cosa anche utilizzando il puntatore p? io pensavo si potesse fare cosi:
#include <iostream>
using namespace std;
int main()
{
int punt [3][4][2]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int a,b,c,*p;
p=&(punt[0][0][0]);// ciò significa che p=punt[0][0][0]
for(a=0;a<=2;a++){
for(b=0;b<=3;b++){
for(c=0;c<=1;c++){
cout <<p+a+b+c << "\n";
}
}
}
}
ma ho visto che non funziona.. esiste una soluzione?