Foro de elhacker.net

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.

Código:
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
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5.    int b = 3;
  6.    int c = 4;
  7.    int *a[2] = {&b, &c};
  8.    printf("a[0] = %d, a[1] = %d\n", *a[0], *a[1]);
  9.    return 0;
  10. }

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
  1. #include<stdio.h>
  2.  
  3. int main(void)
  4. {
  5.    int a[5] = { 0, 1, 2, 3, 4 }, i;
  6.    int (*p)[5];
  7.    p = &a;
  8.    for (i = 0; i < 5; ++i)
  9.        printf("%d ", (*p)[i]);
  10.    return 0;
  11. }



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