> For the complete documentation index, see [llms.txt](https://jafs.gitbook.io/introduccion-a-la-programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jafs.gitbook.io/introduccion-a-la-programacion/tipos-de-datos/tipos-de-datos-primitivos.md).

# Tipos de datos primitivos

En la introducción a los tipos de datos, vimos que los tipos de datos primitivos son los elementos de información más sencillos que podemos utilizar en programación.

## 1. Valores numéricos

Por un lado, se pueden tener valores de tipo entero. Estos valores representan el conjunto de ese tipo numérico. Por ejemplo: `143`, `-548`, `9587237`, etc.

Por otro lado, existen los valores de tipo real o llamados también de coma flotante. Éstos comprenden el conjunto de los números racionales. Es decir: `45.32`, `-958.7237`, etc.

> 👀 Hay lenguajes, en los que puede que todos los valores numéricos se agrupen bajo un mismo tipo de dato.

## 2. Textos

A la hora de representar datos basados en textos, tenemos principalmente dos tipos: caracteres y cadenas.

Los caracteres como su nombre indica, representan sólo un elemento. Por ejemplo: `"A"`, `"9"` y `"-"`.

> 👀 Debes prestar especial atención a que cuando hemos indicado que `"9"` es un valor posible para un tipo carácter, estamos distinguiéndolo del valor de tipo entero `9`, que son tipos de datos distintos.

Las cadenas son conjuntos de caracteres agrupados para un mismo fin. En la mayoría de lenguajes se pueden representar con comillas dobles. Por ejemplo: `"texto"`, `"En un lugar de la Mancha de cuyo nombre"`, `"123.456"`.

> 👀 Hay lenguajes que no tratan las cadenas como tipos primitivos.

## 3. Booleanos

Este tipo de dato tiene únicamente dos valores posibles: verdadero y falso.

Es uno de los tipos que se encuentra en prácticamente todos los lenguajes de programación, y normalmente sus valores se definen con las palabras `true` y `false`.

```
true  // Representa que el valor es verdadero
false // Representa que el valor es falso
```

Este tipo de datos será muy útil cuando veamos las condiciones, pues de forma directa e indirecta dependerán de él.

## 4. Punteros

Esto lo veremos más a fondo cuando hablemos de constantes y variables, pero podemos resumirlo ahora mismo como que el tipo puntero representa una posición de memoria.

Es decir, un puntero "apuntará", valga la redundancia, a una posición de memoria en la que, normalmente, se almacenará un dato que necesitamos.

## 5. Void

Es ocasiones deberemos especificar que no hay valor. Por ejemplo, cuando veamos los métodos y funciones, tendremos que estas pueden devolver un valor, o no devolverlo.

Pues bien, el tipo vacío viene a representar el segundo caso, la ausencia de valor. Suele utilizarse la palabra `void` para representarlo.
