Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: NOB2014 en 26 Noviembre 2015, 21:25 PM

Título: Lenguaje C:apuntador a arreglo de enteros y arreglo de apuntadores a enteros.
Publicado por: NOB2014 en 26 Noviembre 2015, 21:25 PM
Hola a todos y que tengan un muy buen día.

int (*a)[35]; //declara un apuntador a un arreglo de 35 enteros.

int *a[35]; //declara un arreglo de 35 apuntadores a enteros.


Estudiando apuntadores en c me encontré con estas 2 declaraciones pero no las entiendo, alguien seria tan amable de poner algunas líneas de código para comenzar a entender algo del tema?.-
Es todo, intenté hacer un poco de práctica pero no logro hacer que el programa corra y no tengo nada para mostrar.-

Saludos.
Daniel
Título: Re: Lenguaje C:apuntador a arreglo de enteros y arreglo de apuntadores a enteros.
Publicado por: geeke en 27 Noviembre 2015, 00:43 AM
1. int *a[35] - significa que a es un array de punteros es decir cada miembro del array a es un puntero de tipo entero, cada miembro del array puede contener la dirección de un entero.

Código (cpp) [Seleccionar]
#include<stdio.h>

int main()
{
   int b = 3;
   int c = 4;
   int *a[2] = {&b, &c};
   printf("a[0] = %d, a[1] = %d\n", *a[0], *a[1]);
   return 0;
}


2. int (*a)[35] - aquí a es un puntero a un array de 35 enteros, es decir a apunta a un array que contiene treita y cinco enteros.

Código (cpp) [Seleccionar]
#include<stdio.h>

int main(void)
{
   int a[5] = { 0, 1, 2, 3, 4 }, i;
   int (*p)[5];
   p = &a;
   for (i = 0; i < 5; ++i)
       printf("%d ", (*p)[i]);
   return 0;
}


Título: Re: Lenguaje C:apuntador a arreglo de enteros y arreglo de apuntadores a enteros.
Publicado por: NOB2014 en 27 Noviembre 2015, 12:59 PM
Hola Coper.
Muchas gracias por ocuparte, que bien explicado, me queda todo claro y espero contar con tu ayuda toda vez que exponga mis dudas, hago este pedido porque los grandes genios históricos que ayudaban en este foro parecen que han desaparecido todos.-

Saludos.
Daniel