Buenas noches, tengo una duda para entender este simple codigo
#include <iostream>
void modificar( int *, int);
int main( int argc, char* args[] )
{
const int fil = 2;
const int col = 6;
int a[fil][col] = {};
int *b;
b = *a;
modificar(*a,fil*col);
for(int i = 0; i < fil*col; i++)
cout << *(b+i) << " ";;
cin.get();
cin.get();
return 0;
}
void modificar( int *a, int tamanio)
{
int j;
for(j = 0; j < tamanio; j++)
*(a+j) = j;
}
1) ¿Que esta sucediendo cuando b = *a?
2) Los arreglos unidimensionales que he practicado se le pasan a la funcion solamente con su nombre, y ¿Por que aqui paso el arreglo con puntero? modificar( *a, fil*col );
En realidad pregunto esto, porque estaba probando y me funciono eso, pero no entiendo esas 2 lineas :S
Gracias