Curso-lenguaje-C/fundamentos-programacion/PEC2/README.md
2024-03-17 11:29:09 +01:00

3.1 KiB

PEC 2

Índice

4. Estructura de memoria

Conceptos básicos de los efectos que produce un programa en la memoria.

4.1. Memoria

Un programa no se ejecuta desde el disco, sino que se carga en la memoria RAM (Random Access Memory). La memoria es un recurso finito y limitado, por lo que es importante gestionarla de forma eficiente. Por este motivo, el SO se encarga de ir moviendo los programas entre la memoria y el disco, pero desde la vista del programador debemos entender que el programa siempre está cargado en memoria.

Cada posición está identificada unívocamente con un valor numérico (su dirección) y tiene capacidad de 8 bytes.

Cuando asignamos un valor (constante o variable) se asigna un rango de direcciones donde pondrá su valor.

4.1.1. Información y espacio

Tipo Tipo C Tamaño en bytes Rango de valores
Entero char 1 -128 to 127 o 0 to 255
Entero unsigned char 1 0 a 255
Entero signed char 1 -128 a 127
Entero int 2 o 4 -32,768 a 32,767 o -2,147,483,648 a 2,147,483,647
Entero unsigned int 2 o 4 0 a 65,535 o 0 a 4,294,967,295
Entero short 2 -32,768 a 32,767
Entero unsigned short 2 0 a 65,535
Entero long 4 -2,147,483,648 a 2,147,483,647
Entero unsigned long 4 0 a 4,294,967,295
Real float 4 1.2E-38 a 3.4E+38 -> 6 decimales
Real double 8 2.3E-308 a 1.7E+308 -> 15 decimales
Real long double 10 3.4E-4932 a 1.1E+4932 -> 19 decimales

4.2. Memoria estática

4.3 Relación entre objetos y memoria

4.4. El tipo puntero en C

4.4.1. Declaración

4.4.2. Operaciones

4.4.2.1. Asignación
4.4.2.2. Contenido