C es un lenguaje de programación de
propósito general que ofrece economía
sintáctica, control de flujo y estructuras
sencillas y un buen conjunto de
operadores.
Estructura
Un programa C consta de uno o mas modulos
(ficheros fuentes) Cada modulo puede contener
directivas del precompilador, p.e para “incluir” otros
ficheros (#include) y “definir” constantes y macros
(#define) I declaraciones de variables y prototipos de
funciones I una o mas funciones comentarios .Cada
funcion puede contener directivas del precompilador
declaraciones uno o mas bloques comentarios
Compilacion de un programa
Normalmente invocamos al compilador con cc o gcc (el compilador de gnu)
Cuando tecleamos cc programa.c para generar un ejecutable a partir de un
fichero fuente obtenemos un ejecutable, tıpicamente denominado a.out.
Sin embargo se realizan tres tareas Paso por el preprocesador C. Es el que
procesa las lıneas que comienzan con # (pe #include, #define. . . ). Puede
invocarse directamente con cpp La compilacion propiamente dicha. Genera
ficheros objeto (.o) a partir de los ficheros fuente. Puede invocarse como cc
-c El enlazado. Realizado por ld
Directivas del precompilador
#include Incluye el fichero, cuyo nombre se indica, para su compilacion con
el resto del codigo I Si el nombre del fichero va entre <...> se busca en el
directorio include del sistema (/usr/include). Por ejemplo #include <stdio.h>
hace que el fichero /usr/include/stdio.h se incluya en ese punto para ser
compilado con nuestro fichero fuente I El nombre se puede poner entre
comillas (“) y el sistema lo buscar´a en el directorio actual (tambien se
puede poner una ruta absoluta) Los ficheros se suelen denominar .h y
contienen declaraciones de tipos, variables y prototipos de funciones (son
ficheros fuente que pueden verse)
#define Define un sımbolo, es decir cada ocurrencia de ese sımbolo es sustituida por su
definicion. Por ejemplo El C distingue entre mayusculas y minusculas, aunque la costumbre es
utilizar mayusculas para los sımbolos definidos por el preprocesador ejemplo #define MAX
1024 hace que todas las ocurrencias de la cadena MAX dentro del codigo son sustituidas por
1024 I El c´odigo que se compila lleva 1024 donde iba MAX I Si MAX iba dentro de comillas ’’...‘‘,
no se sustituye