Esta es una pregunta realmente difícil de responder. Lo probaré.
Para comenzar, sugiero, uno debe pasar por The C Programming Language de K&R al menos una vez. El libro te lleva a través del lenguaje y la sintaxis, desde la perspectiva del creador. También enseñará muchas cosas que normalmente no están cubiertas en el libro de lenguaje de programación; ejemplo es cómo funciona la asignación dinámica de memoria.
No te limites a la sintaxis. Vea cómo se ejecutan realmente las cosas. Haga preguntas como: ¿por qué switch-case es más eficiente que múltiples if-else?
Cómo
- ¿Cuáles son tus películas favoritas que salieron en 1987?
- No tengo ningún interés en la codificación, pero me gusta la parte electrónica de Física. ¿Debería estudiar ECE?
- ¿Por qué me enojo tanto cuando la gente me insulta?
- Veo mi futuro en la IAF. Mientras tanto, cualquier llamada de SSB: ¿debería hacer un trabajo en el sector de TI? ¿O dedicar tiempo solo a los preparativos de SSB?
- Soy un estudiante en el segundo año en un NIT reputado. Ha sido un sueño largo y querido convertirse en oficial de IAS algún día. ¿Cómo debo prepararme? ¿Debo comenzar ahora? Mucha gente dice que no vale la pena. ¿Qué tengo que hacer?
#define pi 3.14f
es diferente a
const float pi = 3.14f;
O como
#define max (a, b) a> b? a: b
es diferente a
en línea int max (int a, int b)
{
volver a> b? a: b;
}
Y cuando tenga este tipo de preguntas, no siga la explicación dada por otros autores; pruébalo por tu cuenta. Mira cómo funciona prácticamente.
Eso nos lleva a otra cosa que puede hacer: escribir pequeños programas e intentar leer el código de ensamblaje generado a partir de él. Para eso, tendrá que aprender la arquitectura y el conjunto de instrucciones del procesador de destino.
Una cosa más es leer el estándar ANSI C. Hay muchas cosas que aprender. Comenzaría a hacer preguntas extrañas cuando comience a leer el estándar.
Hablando francamente, C parece un lenguaje realmente pequeño y simple si cuenta las palabras clave utilizadas, pero si solo ve el recuento de páginas estándar ANSI, sabría que es bastante complejo.
Como siempre digo: “No aprendes nada si tu código funciona en el primer intento. Cuando no se ejecuta, como cree que debería, es cuando comienza su aprendizaje “.