Título: [C]Es posible tener una funcion en un struct? Publicado por: huchoko en 26 Febrero 2019, 01:16 am Es posible (en C) tener una función dentro de un struct? Algo así más o menos:
Código Escuche que en C++ se podía, pero como lo puedo hacer en C? La idea seria tener funciones mas organizadas, se podría con POO si estuviera en C++, pero sinceramente me da asco la forma en que se declaran clases en C++ ;-), aparte que solo puedo usar C ahora. Saludos Título: Re: [C]Es posible tener una funcion en un struct? Publicado por: K-YreX en 26 Febrero 2019, 01:35 am Creo que puramente en C no se puede ya que C no está orientado a objetos como podría estarlo C++.
Decirte que lo que sí puedes hacer es crear un <struct> en C++ y entonces si puedes declarar una función miembro del <struct>. Pero tienes algunos errores como inicializar la variable y luego tu función no tiene sentido, devuelve un <int> y no tiene ningún <return>... Te dejo el siguiente código que compilado como un fuente de C++ sí funciona (g++ test.cpp -o test). Si lo tratas como un fuente C, no va a funcionar (gcc test.c -o test). Código
No sé si te sirve :-X Título: Re: [C]Es posible tener una funcion en un struct? Publicado por: huchoko en 26 Febrero 2019, 01:38 am Creo que puramente en C no se puede ya que C no está orientado a objetos como podría estarlo C++. Ah, que pena :-(, pero talvez me sirva cuando este programando en C++Decirte que lo que sí puedes hacer es crear un <struct> en C++ y entonces si puedes declarar una función miembro del <struct>. Pero tienes algunos errores como inicializar la variable y luego tu función no tiene sentido, devuelve un <int> y no tiene ningún <return>... Te dejo el siguiente código que compilado como un fuente de C++ sí funciona (g++ test.cpp -o test). Si lo tratas como un fuente C, no va a funcionar (gcc test.c -o test). Código
No sé si te sirve :-X Gracias :) Título: Re: [C]Es posible tener una funcion en un struct? Publicado por: K-YreX en 26 Febrero 2019, 01:49 am Siempre puedes usar una función externa :-X:
Código
Título: Re: [C]Es posible tener una funcion en un struct? Publicado por: Loretz en 26 Febrero 2019, 02:31 am En C (y en C++) una struct puede tener un "puntero a función" como miembro, que no es lo mismo que una "función miembro" por supuesto, pero es la forma que puede usarse en C para asociar comportamiento a una struct.
Va un ejemplo: Código: #include <stdio.h> Título: Re: [C]Es posible tener una funcion en un struct? Publicado por: CalgaryCorpus en 26 Febrero 2019, 15:59 pm Para complementar la excelente respuesta de Loretz, los nombres de las funciones funcionan como punteros inicializados y cuyo contenido es la direccion de memoria de esa funcion, por lo que el uso del & es opcional.
Código
|