Tutorial de Lenguaje C                                                                                               Dr. Roberto Gómez


PASO PARAMETRO DE UNA ESTRUCTURA



Al igual que

1. paso por valor: variables tipo estructura es idéntica a las de tipo simples;

2. paso por dirección: variables tipo estructura es idéntica a las de tipo simple; pero el acceso es:
                    (*<variable>).campo
y no por la expresión:

                    <variable>.campo

(<variable> definida como: struct <nombre> <variable> )

progr2.c Ejemplo paso estructuras como parámetros

/* Definición datos personales */

struct datos {

       char nombre[10];
       char direccion[20];
       int edad;
};

/* Función que imprime datos relacionados con una persona */

void imprime(persona )   
     struct datos persona;

{
      printf(''Nombre: %s  \n'',persona.nombre);

      printf(''Dirección: %s \n'',persona.direccion);

      printf(''Edad: %d \n'',persona.edad);
 
}

/* Función quecaptura los datos relacionados con una persona y los almacena en la variable pasada como parámetro */

void captura(p)
   struct datos *p;
{
     printf("De el nombre: ");
     scanf("%s",(*p).nombre);
     printf("De la direccin: ");
     scanf("%s",(*p).direccion);
     printf("De la edad: ");
     scanf("%d",(*p).edad);
}

main()
{

     struct datos pers;
                
     captura(&pers);

     imprime(pers);
}


Ejercicio estructura y paso parámetros

  1. Escriba un programa que manipulelos puntos de un cuadrado. El programa cuenta con una estructura que representa los vertices del cuadrado y otra estructura que representa los puntos (formados por las coordenadas x e y).  Al principio del programa debe capturar las coordenadas que definen al cuadrado. Despues debe mandar llamar una función llamada MuestraCuadraso que despliegue las coordenadas que definen al cuadrado en formato (x,y). A continuación preguntara por un vertice del cuadrado y mandara llamar una funcion llamada CambioCoordenadas que permita cambiar las coordenadas del punto que se envía como parámetro. Dentro de la función se preguntará por las nuevas coordenadas.  Por último se mandara llamar una función denominada DibujaCuadrado que escribira los vertices  del cuadro de la siguiente forma: (4, 5)  (9. 10)  (9, 8) (7, 5).


 

MENÚ PRINCIPAL