Ninguna de esas es
una palabra reservada.
Las que empiezan por # son directivas de preprocesado, esto es, sentencias ejecutadas por el preprocesador. El preprocesador prepara el código fuente para ser compilado.
#ifndef
Comprueba si un símbolo
no ha sido definido con #define. Si el símbolo está definido, todo el código entre #ifndef y #endif es ignorado y no se pasa al compilador, y vicerversa.
#if
#elif
#endif
if supongo que sabrás qué es para comprobar una condición,
elif es equivalente a
else if y
endif indica el fin de cualquier
if (
ifdef, ifndef, if, elif)
free
memcpy
pos
strcpy
Éstas (salvo
pos, que no sé qué es o a qué te refieres) son funciones que pertenecen a las librerías C estándar. Sólo son nombres de funciones, por lo que tú puedes declarar funciones que se llamen igual (aunque no es nada aconsejable).
- free() libera memoria previamente reservada con una función de alocación de memoria (malloc(), realloc(), etc...)
- memcpy() copia una zona de memoria a otra.
- strcpy() copia bytes a un buffer hasta encontrar un byte nulo. Normalmente se usa para copiar cadenas de caracteres, aunque es mejor usar strncpy()
Saludos.