next up previous
Next: Programas multi-módulo Up: Linux para Programadores Previous: El lenguaje de programación

Programas con un solo módulo

Probablemente, dependiendo de la complejidad del problema que deseamos resolver mediante nuestro programa en lenguaje C, desarrollaremos uno o varios programas fuentes. En esta sección se trata el caso sencillo, en el que únicamente necesitamos crear un solo programa fuente. Por supuesto, necesitamos saber algo de C para desarrollar un programa mínimo. En nuestro caso vamos a construir un programa que invierte los caracteres de cadenas. El fuente que puede realizar esto es:



width 3pt
width .3pt415pt/*
reverse.c
Invierte el contenido de una cadena de caracteres.
*/
#include <stdio.h>      /* Puesto que utilizamos NULL */
#include <string.h>     /* Para el uso de strlen() */
void Reverse(                          /* Función que invierte una cadena */
    char *,                     /* Cadena de entrada no invertida */
    char *);                    /* Cadena de salida */
main()                                 /* Cuerpo principal del programa */
{
        char str[100];          /* Buffer para realizar inversiones de cadenas */
        Reverse("Hola",str);    /* Invertimos la cadena 'Hola' */

        /*
           Presentamos en pantalla a través de la salida entandar el
           resultado de la inversión de la cadena 'Hola'
        */
        printf("Reverse (\"Hola\")=%s\n",str);

void Reverse(char *in, char *out)
{
        int i,j;                /* Un par de iteradores */
        int len=strlen(in);     /* Longitud de la cadena a invertir */
        /* Invertimos la cadena */
        for(j=len-1,i=0;j>=0;j-,i++) out[i]=in[j];
        /* NULL es el fin de cadena en C */
        out[len]=(char)NULL;
}
width .3pt
depth .3pt width -3pt

Una vez creado con el nombre reverse.c, podemos compilarlo y ejecutarlo:



width 3pt
width .3pt415ptdali: % gcc reverse.c -o reverse
dali: % reverse
Reverse ("Hola")=aloH
dali: %
width .3pt
depth .3pt width -3pt
Programas multimódulo
next up previous
Next: Programas multi-módulo Up: Linux para Programadores Previous: El lenguaje de programación
Vicente González Ruiz
1998-07-13