¿Qué almacena específicamente una variable de tipo puntero en C?
Almacena la dirección de memoria de otra variable.
¿Qué símbolo se utiliza en C para declarar que una variable es un puntero?
El asterisco ($*$).
¿Qué operador se utiliza para obtener la dirección de memoria de una variable existente?
El operador ampersand ($\&$).
Si $p$ es un puntero a un entero, ¿qué sintaxis se usa para acceder al valor al que apunta?
$*p$
¿Qué ocurre técnicamente cuando se realiza la operación de desreferencia ($*p$)?
La computadora va a la dirección almacenada en $p$ y accede al valor en esa celda.
¿Cómo se visualiza típicamente un puntero en diagramas de memoria?
Como una caja que contiene una dirección y una flecha que apunta a otra celda.
¿Cuál es la forma correcta de definir un puntero que apunte a un carácter?
Usando el tipo char *.
¿Por qué es importante recordar que el propio puntero también tiene una dirección de memoria?
Porque es una variable y ocupa su propio espacio en el sistema de memoria.
¿Qué es un fallo de segmentación (segmentation fault)?
Un error que ocurre al intentar acceder a una parte de la memoria a la que no se tiene permiso.
¿Qué es una fuga de memoria (memory leak)?
Ocurre cuando se reserva memoria y no se libera o cuando no se cierra un archivo usado.
¿Cuál es el riesgo de usar funciones como malloc sin llamar a free después?
El programa puede agotar la memoria disponible, causando errores o bloqueos.
¿Qué función de C permite abrir un archivo para lectura o escritura?
La función fopen.
¿Qué tipo de dato devuelve la función fopen?
Un puntero a un archivo, definido como FILE *.
¿Por qué es obligatorio usar fclose después de trabajar con un archivo?
Para liberar recursos del sistema y evitar errores de memoria o corrupción de datos.
¿Qué modo se debe pasar a fopen para abrir un archivo únicamente para lectura?
El modo "r" (read).
¿Qué modo se utiliza en fopen para abrir un archivo con la intención de escribir en él?
El modo "w" (write).
¿Para qué sirven los modos "rb" y "wb" en la apertura de archivos?
Para leer o escribir explícitamente archivos en formato binario.
En la función fread, ¿cuál es el propósito del primer argumento?
Especificar la ubicación o variable (buffer) donde se almacenarán los datos leídos.
En fread, ¿qué indica el argumento que utiliza la función sizeof?
El tamaño en bytes de cada bloque de datos que se desea leer.
¿Qué especifica el tercer argumento de la función fread?
El número de bloques de datos que se quieren leer del archivo.
¿Cuál es el cuarto y último argumento de la función fread?
El puntero al archivo (FILE *) desde el cual se extraerá la información.
¿Qué es un “buffer” en el contexto de entrada/salida de archivos?
Un trozo de memoria temporal para almacenar datos mientras se procesan o transfieren.
¿Cuál es la principal ventaja de leer datos en bloques pequeños usando un buffer?
Permite procesar archivos de tamaño desconocido sin agotar la memoria del sistema.
¿Cómo se diferencia el primer argumento de fwrite respecto al de fread?
En fwrite, el primer argumento es el origen de los datos (de dónde se lee para escribir).