¿Qué son los punteros y cómo se usan?

por:

Que son los punteros y como se usan

Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan a programar en C o C++, es el uso de los punteros.

¿Qué es un puntero?

Un puntero no es más que una variable, en la cual se almacena una dirección de memoria. Esto parece muy simple, pero luego da muchos quebraderos de cabeza. Al ser una dirección de memoria, le podemos decir a un puntero que en ese lugar donde apunta queremos almacenar un valor, por ejemplo un número.

Para realizar una explicación muy sencilla, vamos a decir que un puntero es como un buzón de correos y nuestra memoria RAM, es similar a una comunidad de vecinos donde hay muchos buzones. Además en esta comunidad en lugar de tener el nombre puesto en el buzón, cada uno va a tener un identificador único.

Explicación simple de los punteros

Como se puede ver en la imagen, hay muchos buzones (zonas de memoria), pero no todas las podemos usar, ya que hay buzones que son nuestros y otros que son de otros vecinos (otros programas).

Leer más

Las librerías más usadas en C

por:

Te enseñamos cuales son las librerías más usadas de C

Uno de los problemas más comunes con los que se encuentra un usuario cuando empieza a codificar en C, es que necesita ciertas funciones que no forman parte de la sintaxis básica del lenguaje. Este problema es muy común tanto para los principiantes en programación, como para los que vienen de otro lenguaje como Java o C#, los cuales tienen más implementaciones.

La manera de añadir más funcionalidad en C es utilizar librerías o bibliotecas. Este término que viene del inglés library, agrupa un conjunto de funcionalidad creado por otras personas y que vamos a poder usar directamente en nuestro programa.

La librería de C para la gestión de tiempos

Uno de los problemas de gran complejidad que tenemos en todos los lenguajes es la gestión del tiempo, por ello para C tenemos la librería time.h

Creando números aleatorios

Algunos os preguntaréis, para que voy a necesitar el tiempo si quiero generar números aleatorios. Pues la respuesta es bastante simple, el generador de números aleatorios necesita una semilla (valor inicial), así que qué mejor que utilizar el tiempo actual como semilla del generador.

srand(time(NULL));
var=rand();

Con time(NULL) siempre será distinta la semilla ya que con ella obtenemos el tiempo en segundos del momento actual respecto al 1 de Enero de 1970.

Midiendo tiempos de ejecución

Otra de las cuestiones que nos podemos plantear, es la posibilidad de comprobar cuanto tiempo le lleva a nuestro ordenador ejecutar un fragmento de código.

clock_t inicio,fin; //variables para medir tiempo
inicio=fin=clock();
//sentencias que queramos saber su tiempo de ejecucion
fin=clock();
printf("El tiempo de ejecucion de esa parte es %lF",((fin-inicio)/(double)CLOCKS_PER_SEC));

clock_t  es el tipo de dato de las variables para medir tiempo.
clock(); devuelve el número de ciclos ejecutados.
CLOCKS_PER_SEC es una constante que indica el número de ciclos que ejecuta nuestra CPU en un segundo.

Leer más