Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda con apuntadores y arreglos en C

Estas en el tema de Duda con apuntadores y arreglos en C en el foro de C/C++ en Foros del Web. Hola a todos tengo una duda en cuanto al manejo de arreglos, apuntadores y arreglos de apuntadores. ¿Cuál sería el significado de las siguientes declaraciones? ...
  #1 (permalink)  
Antiguo 24/02/2007, 22:33
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Duda con apuntadores y arreglos en C

Hola a todos tengo una duda en cuanto al manejo de arreglos, apuntadores y arreglos de apuntadores.

¿Cuál sería el significado de las siguientes declaraciones?

Declaracion 1: int (*c[n])();

Declaracion 2: int (*d())[n];

Se que tiene que ver con arreglos de dos dimensiones y quizas arreglos de apuntadores de dos dimensiones, sin embargo no estoy muy seguro del significado de cada una.

Les agradezco si me pueden ayudar, gracias.
  #2 (permalink)  
Antiguo 25/02/2007, 08:44
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 2 meses
Puntos: 22
Re: Duda con apuntadores y arreglos en C

Hola Fossil

Cita:
Se que tiene que ver con arreglos de dos dimensiones y quizas arreglos de apuntadores de dos dimensiones, sin embargo no estoy muy seguro del significado de cada una.
Pues si que tiene que ver con arreglos y punteros pero no de dos dimensiones.

Cita:
¿Cuál sería el significado de las siguientes declaraciones?

Declaracion 1: int (*c[n])();

Declaracion 2: int (*d())[n];
int (*c[n])(); // c es un arreglo[0...n-1] de punteros a función que retorna un int.

int (*d())[n]; // d es una funcion que retorna un puntero a arreglo[0...n-1] de int.



Saludos.
  #3 (permalink)  
Antiguo 25/02/2007, 08:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Duda con apuntadores y arreglos en C

Gracias por tu respuesta, agradecido por tu ayuda.
  #4 (permalink)  
Antiguo 25/02/2007, 12:10
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 2 meses
Puntos: 22
Re: Duda con apuntadores y arreglos en C

De nada.

Aunque ya haciendo un mejor análisis estaba viendo que en la segunda declaracion:

int (*d())[n];

la función retorna un puntero de tipo

int (*p)[n];

(p es un puntero a un arreglo[0...n-1] de tipo int)

esto último quiere decir que si tienes un arreglo

int m[q][n]; //arreglo de dos dimensiones

entonces puedes hacer la siguiente asignación:

p = m;

En pocas palabras esto da pie a decir que a traves de la función puedes obtener acceso a arreglos de dos dimensiones, asi que estaba equivocado al haber dicho que no tenian nada que ver con arreglos de dos dimensiones.

Salu2.
  #5 (permalink)  
Antiguo 25/02/2007, 22:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Duda con apuntadores y arreglos en C

Una vez mas, gracias por la nueva ayuda que me has dado.

Ahora me queda claro esa acotación que haces acerca de los arreglos de 2 dimensiones.

Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:37.