Todo programa escrito en C consta de
una o más funciones,
una de las cuales se llama main.
El programa siempre comenzará por la ejecución de la función
main.
Cada
función debe contener:
![]() |
Una cabecera de la función, que consta del nombre de la función, seguido de una lista opcional de argumentos encerrados con paréntesis. |
![]() |
Una lista de declaraciónde argumentos, si se incluyen estos en la cabecera. |
![]() |
Una sentencia compuesta, que contiene el resto de la función. |
Cada sentencia compuesta se encierra con un par de llaves,
{.....}. Las llaves pueden contener combinaciones de sentencias elementales
(denominadas sentencias de expresión) y otras sentencias
compuestas. Así las sentencias compuestas pueden estar anidadas,
una dentro de otra. Cada sentencia de expresión debe acabar en punto
y coma (;).
Los comentarios pueden aparecer
en cualquier parte del programa, mientras estén situados entre los
delimitadores /* ................ */ (por ejemplo: /*esto es un ejemplo*/).
Los comentarios son útiles para identificar los elementos principales
de un programa o simplemente para orientar a un posible usuario de ese
código.
Todo fichero fuente en C sigue la siguiente estructura; para
verla más claramente pondremos un ejemplo con sus correspondientes
comentarios, que nos vayan explicando cada una de las partes, muchas de
las cosas que se vean, no se conocen aún, pero nos servirán
para hacernos una idea de cómo se estructura un programa:
Ejemplo:
#include <stdio.h>
#include <conio.h>
/*#include
del sistema:Se deben especificar todos los
ficheros de cabecera (ficheros con extensión .h) correspondientes
a las librerías de funciones utilizadas.
Son librerías implementadas y listas para que nosotros las usemos,con sólo llamar a la función que tenga implementada dentro dicha librería. Por ejemplo: la instrucción printf está incluida dentro de stdio.h, por tanto, cuando decidamos usarla, tendremos que poner en esta sección: #include <stdio.h> */ |
/* #include de la aplicación:Ficheros de cabecera creados para el fichero fuente. Se puede decir que estos son los que yo he creado, que son invocados escribiendo su nombre seguido de .h. (Más tarde explicaremos cómo se crean). Si lo pongo entre signos: < > (como lo tenemos en este ejemplo), dicha librería será buscada en el directorio del compilador INCLUDE que contiene las librerías. Si por el contrario pongo: #include "lista.h", entonces, dicha librería será buscada 1º en el directorio actual, y luego, si no está, será buscada en el directorio del compilador INCLUDE*/ |
/* externvariables globales externas: Variables globales que voy a definir en otros módulos que voy a usar en este módulo. A salida le hemos asignado el tipo de almacenamiento extern, pues tiene que ser accedida desde otro archivo distinto de aquel en que es definida; por tanto, ha de ser una función externa. */ |
/* #define definición de macros y constantes simbólicas.*/ |
/* typedef definición de tipos: me sirve para crearme un tipo distinto de los preestablecidos de partida.*/ |
/* Declaración
de los prototipos de las funciones implementados en este módulo:
La declaración de una función le da información al
compilador de una función que va a ser utilizada pero que todavía
no ha sido implementada. En particular le dice al compilador qué
tipo de datos requiere y cuál devuelve la función. En el
ejemplo, la función con nombre suma
recibe dos números enteros y da como salida otro número entero.*/ |
/* Declaración
de variables globales de este módulo:
|
/* Implementación de las funciones: Se implementan todas las funciones del módulo incluida la función main().*/ |