[C con Clase] Puntero a Array
Davidson, Steven
srd4121 en njit.edu
Mar Abr 1 20:00:51 CEST 2014
Hola Marving,
2014-04-01 11:59 GMT-04:00 Marving <jr.marving en gmail.com>:
> Soy nuevo en esto de c++. Tratando de conseguir algo de confianza con los
> punteros, tropezé con la preferencia entre * y [] y de ahí surgió.
>
> int (*ptr0) [5];
>
> Parece ser que esto es Puntero a un array de 5 entero
>
Correcto.
Pero no entiendo el concepto.
> En el siguiente programa si intento apuntar a un array de 5 enteros como es
> int array[5] con ptr0 de este modo
> int (*ptr0) [5] = array;
> obtengo
> cannot convert 'int*' to 'int (*)[5]' in initialization
>
>
Obviamente los tipos no concuerdan.
Intenta hacer esto:
int tabla[10][5];
int (*pa)[5] = tabla;
Te puede venir bien a la hora de pasar arrays 2D a una función; por ejemplo,
void func( int (*pa)[5] );
...
func( tabla );
Sinceramente, esto no es algo que se suele hacer en la práctica, pero como
ejercicio viene bien para entender los punteros y los arrays.
Espero que esto te aclare las dudas.
Steven
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20140401/255b0941/attachment.html>
Más información sobre la lista de distribución Cconclase