Autor Tema: Se puede pasar una variable de struct como argumento de una funcion.  (Leído 2579 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Carlos2302

  • PIC16
  • ***
  • Mensajes: 110
Se puede pasar una variable de struct como argumento de una funcion.
« en: 16 de Diciembre de 2019, 18:25:03 »
Hola muchach@s, espero que esten bien, bueno me gustaria saber eso si se puede pasar una variable de una struct a una funcion, de antemano muchas gracias a todos.
Gracias a Dios por aquellas personas que ayudan sin esperar nada a cambio. Dios los bendiga hoy mañana y siempre.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Se puede pasar una variable de struct como argumento de una funcion.
« Respuesta #1 en: 16 de Diciembre de 2019, 18:31:21 »
Si se puede, pero si la estructura es grande, es mejor pasar un puntero a la estructura.

Un saludo.

Desconectado Carlos2302

  • PIC16
  • ***
  • Mensajes: 110
Re:Se puede pasar una variable de struct como argumento de una funcion.
« Respuesta #2 en: 16 de Diciembre de 2019, 23:45:54 »
Me dejaste en la misma Picuino, es una struct con tres bytes de una direccion de eeprom de 1 MegaBits. Estoy realizando una prueba con esa memoria la 23LC1024. Ya logre escribir y leer en ella pero hice una sctruct y no logro saber como pasarle la struct como direccion de memoria, me toca que crear un int32 y copiar una variable de la struct y asi es como he hecho.
Gracias a Dios por aquellas personas que ayudan sin esperar nada a cambio. Dios los bendiga hoy mañana y siempre.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Se puede pasar una variable de struct como argumento de una funcion.
« Respuesta #3 en: 17 de Diciembre de 2019, 03:25:05 »
Crea un nuevo tipo de datos con typedef struct y lo utilizas como un tipo de datos más.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Se puede pasar una variable de struct como argumento de una funcion.
« Respuesta #4 en: 17 de Diciembre de 2019, 07:47:19 »
Por ejemplo:

Código: C
  1. typedef struct {
  2.    unsigned int lo;
  3.    unsigned char hi;
  4. } eeprom_addr;
  5.  
  6.  
  7. void eeprom_write(eeprom_addr ea, unsigned char data) {
  8.    // Código
  9.    return;
  10. }
  11.  
  12.  
  13. main() {
  14.    eeprom_addr ea;
  15.    ea.lo = 0xA567;
  16.    ea.hi = 0x2F;
  17.    eeprom_write(ea, 0xB5);
  18. }


 

anything