Online C Compiler
Abrir en el compilador

Edición didáctica en español. El código y sus salidas conservan el original.

Preguntas de entrevista sobre C

Repasa punteros, memoria, arrays, funciones y comportamiento indefinido con razonamiento práctico.

Preguntas de entrevista sobre C
Repasa punteros, memoria, arrays, funciones y comportamiento indefinido con razonamiento práctico.

Explica primero la diferencia entre un valor y su dirección. C pasa argumentos por valor; una función puede modificar un objeto del llamador si recibe una copia de un puntero válido a ese objeto. Un array no es un puntero, aunque muchas expresiones de array se convierten en punteros al primer elemento.

Distingue duración automática, estática y almacenamiento asignado dinámicamente. Nunca devuelvas la dirección de una variable local automática. Comprueba malloc y libera cada asignación una sola vez. Un puntero que conserva una dirección después de free no permite seguir accediendo al objeto.

Practica sizeof, const, static y las cadenas terminadas en cero. sizeof de un array completo mide todo el array; dentro de una función, un parámetro escrito como array se ajusta a un puntero. Reserva espacio para el terminador de las cadenas.

En problemas de algoritmos, describe precondiciones, casos límite y complejidad antes de programar. Si un fragmento tiene comportamiento indefinido, no inventes una salida determinista: explica la operación inválida y cómo corregirla.

Preguntas frecuentes

¿Por qué el código y la salida siguen en inglés?

Las palabras clave, los identificadores y los textos que verifican las pruebas se conservan para no cambiar el programa. Las explicaciones y los controles están traducidos.