[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