#include <conio.h>
#include <stdio.h>
void apuntarre(int [3][3]);
void main(){
int arre[3][3];
apuntarre(arre);
for(int x=0;x<3;x++){
for(int y=0;y<3;y++){
printf("%d",arre[x][y]);
}
printf("\n");
}
getch();
}//fin del main
void apuntarre(int arre[3][3]){
int *ptr,a=0;
ptr=(int*)arre;
for(int x=0;x<9;x++){
ptr[x]=a;
a++;
}
}//fin del apuntarre
si nos fijamos la diferencia es que un apuntador no reconoce el momento en el que un arreglo termina los renglones (asi como puede hacerlo un arreglo) y acordemonos que los arreglos en memoria son organizados de manera lineal que por ejemplo seria algo asi
1,2,3,4,5,6,7,8,9
nosotros vemos un arreglo bidimensional de esta manera
123
456
789
o por lo menos varios de nosotros. estos renglones son los que un apuntador no puede ver(lo que un arreglo si) entonces la manera en que podamos apuntar a un arrgelo de este tipo es seguir contando los desplazamientos del arreglo en el apuntador como si fuese de una sola dimension. lo cual seria como un solo arreglo pero en ves de ser arre [3][3] el apuntador lo veria de esta manera [9] y es asi como podemos modificar un arreglo de este tipo . y de la misma manera se hace con un tipo char .
espero esto ayude un poco a personas como yo que no sabiamos como hacer esto SALUDOS

