Guía para programar juegos #10-2
Bueno, después de una primera aproximación a lo que es la memoria del ordenador y de cómo se organizan las variables y programas en ella comenzamos con lo que son en sí mismos los punteros. Es algo complicado pero espero que con paciencia y práctica lo entendáis.
Un puntero es un tipo de variable, pero no uno cualquiera. Los valores que almacenan los punteros son direcciones de memoria de un tipo de variable. Es decir, habrá punteros de enteros, punteros de caracteres etc.
Veamos cómo se declaran los punteros y como se le asignan direcciones de memoria con un ejemplo muy simple.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numero;
int *punt;
numero = 43;
punt = №
printf( “Dirección de numero = %p, valor de numero = %i\n”, &numero, numero );
system(“pause”);
return 0;
}
int *punt; Significa que creamos una variable tipo puntero que almacenará la dirección de un entero.
punt = № Significa que en punt almacenamos la dirección de la variable numero.
Ahora diremos que punt apunta a numero, es decir, contiene la dirección de la variable número.
Los punteros tienen muchas utilidades, son complicados de usar pero pueden comvertirse en buenos compañeros. Sirven para cambiar el valor de los parámetros que se pasan a las funciones. Por ejemplo si usais la función suma que recibe dos parámetros a y b y hace:
a = a + b;
return a;
La variable a no se modifica fuera de la función ya que al pasar los parámetros a y b lo que se les hace es una copia de manera que el original sigue intacto.
Con los punteros podemos acceder a la dirección de memoria donde están contenidas las variables, de esta manera podemos modificarlas. Veamos un ejemplo.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numero;
int *punt;
numero = 43;
punt = №
printf(“numero = %d”, numero);
*punt = 25;
printf(“numero = %d”, numero);
system(“pause”);
return 0;
}
Como veis, accedemos al contenido de la dirección de memoria almacenada por punt usando el operador *. Así si hacemos *punt = 45, cambiamos el valor de la variable numero por 45 ya que accedemos a la casilla de memoria donde numero está almacenado.
Es algo complicado pero ya iréis dominándolo poco a poco.
Los punteros son variables y como tales se pueden comparar, sumar etc. Lo normal no es tocarlas mucho en este sentido, ya que pueden provocar resultados inesperados y bloquear el programa. Hay que saber usarlos bien.
En el siguiente número veremos punteros aplicados a las funciones. Deberíais hacer variantes de los programas expuestos para comprender el concepto de puntero y dominarlo antes de seguir con lo siguientes tutoriales.













6 comentario/s
Autor: David Saltares el 20/10/2008








Me encanta tu guia… me das permiso para poder publicarala en otros foros?
Juances: no soy el administrador del sitio, deberías preguntarle a él.
Saludos.
¡¡Por favor, muchachos…!!Necesito ayuda!! Sin querer, puse correo no deseado a sus boletines y no pude recibir del nro 3 hasta el actual, de estos, para programar… creen que me los pueden reenviar??
Otra cosa, tengo trucos para el Pokemon Rojo Fuego.. A quien se lo envio, para que lo publiquen en esta pagina?? Por favor, respondan pronto!! juampy_leo@hotmail.com
Juampy_leo: si leyeras el artículo, al final hay un link a todos los números anteriores.
Saludos.
queria saber si me podrian decir donde puedo descargar el programa para poner en practica su guia, por favor respondanme pronto este es mi mail cintiamagali4825@hotmail.com
muchisimas gracias!!!
hoygaaan quiero mi videojuegox gratixxx