> For the complete documentation index, see [llms.txt](https://bla0x1s-organization.gitbook.io/untitled-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bla0x1s-organization.gitbook.io/untitled-1/reverse-engineering/c-programming/tockens-en-c.md).

# TOCKENS EN C

El programa consta de varios tokens y un token es una palabra clave, un identificador, una constante, una cadena o simbolo. Por ejemplo, las siguientes instrucciones consta de 5 tokens:

```c
printf("Hello word \n");
```

Los tokens individuales son:

```c
printf
(
    "Hello Word \n"
)
;
```

En esta programacion se usa el `;` para terminar una sentencia:

```c
printf("Hello Word \n");
return 0;
```

## Identificadores

Es un nombre que se utiliza para identificar una variable, una funcion p cualquier otro elemento definido por el usuario. Un identificador comienza con la letra de la A a la Z o un giuon bajo \_.

C no permite caracteres de puntuacion como @, $ y % dentro de los identificadores. C es un lenguaje sensible a mayusculas y minusculas. Por lo tanto `Manpower y manpower` son dos identificadores diferentes en C. Veamos algunos ejemplos aceptables:

```c
mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal
```

## Palabras Clave

La siguiente lista muestra las palabras reservadas en C. Estas palabras reservadas no pueden usarse como constantes o variables o cualquier otro nombre de identificador.

<table><thead><tr><th width="182"></th><th width="178"></th><th></th><th></th></tr></thead><tbody><tr><td>auto</td><td>else</td><td>long</td><td>switch</td></tr><tr><td>break</td><td>enum</td><td>register</td><td>typedef</td></tr><tr><td>case</td><td>extern</td><td>return</td><td>union</td></tr><tr><td>char</td><td>float</td><td>short</td><td>unsigned</td></tr><tr><td>const</td><td>for</td><td>signed</td><td>void</td></tr><tr><td>continue</td><td>goto</td><td>sizeof</td><td>volatile</td></tr><tr><td>default</td><td>if</td><td>static</td><td>while</td></tr><tr><td>do</td><td>int</td><td>struct</td><td>_Packed</td></tr><tr><td>double</td><td></td><td></td><td></td></tr></tbody></table>

## Espacio en Blanco

Una linea que contiene solo espacios en blanco, posiblemente con un comentario, se conoce como linea en blanco y un compilador de C la ignora.

Los espacios en blanco separan una parte de una declaracion de otra y permite que el copilador identifique donde termina un elemento en una declaracion, como int y comienza el segundo elemento.

```c
int age;
```

Debe haber al menos un caracter de espacio en blanco entre init y age para que el copilador  pueda distinguirlos. Por otro lado, en la siguiente declaracion:

```c
fruit = apples + oranges;
```

no se necesitan espacios en blanco entre frutas y =, o entre = y apples, aunque puede incluir algunos si desea aumentar la legibilidad.
