Manejar direcciones en punteros y arrays - Programación C

domingo, 4 de abril de 2010

Seguimos con arrays, punteros y cadenas de caracteres.

Ejercicio:
Esto mas que un ejercicio, es un programa para ver como se manejan las direcciones en punteros, arrays… y así poder entender mejor como funcionan. Copiar y pegar este código en vuestro compilador y ejecutarlo. Observar detalladamente lo que hace en cada paso y como cambia la memoria en la que se guarda cada variable o dato.


Para ver el código sigue leyendo.


/******   Inicio programa ******/

#include <stdio.h>


short int Mes1 [] = {31,28,31,30,31,30,31,31,30,31,30,31};

short int *Ptr1;


main()

{
      // & es direccion de memoria

      printf("\n array \n");

      printf("Mes1:    %u\n",Mes1);

      printf("&Mes1:    %u  \n",&Mes1);

      printf("&Mes1 [0]:    %u\n",&Mes1[0]);

      printf("&Mes1 [1]:    %u\n",&Mes1[1]);

      printf("Mes1 + 1:    %u\n",Mes1+1);


      Ptr1=Mes1;  //El puntero apunta al array

      printf("\n punteros \n");

      printf("Ptr1:    %u\n",Ptr1);

      printf("&Ptr1:    %u  CUIDADO!! \n",&Ptr1); //Esto guarda la direccion en la que esta guardada el puntero

      printf("&Ptr1 [0]:    %u\n",&Ptr1[0]);

      printf("&Ptr1 [1]:    %u\n",&Ptr1[1]);

      printf("Ptr1 + 1:    %u\n",Ptr1+1);


      // * es para saber el valor que hay dentro de donde le indicamos

      printf("\n datos \n");

      printf("*Mes1:    %u\n",*Mes1);

      printf("*Mes1 + 1:    %u\n",*Mes1+1);

      printf("Mes1 [1]:    %u\n",Mes1[1]);

      printf("*(Mes1 + 1):    %u\n",*(Mes1+1));

      getchar();

}



/******   Fin programa******/


Artículos relacionados


Comments

No response to “ Manejar direcciones en punteros y arrays - Programación C ”
Post a Comment | Enviar comentarios ( Atom )

Publicar un comentario

Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.