struct prueba{
int a;
int b;
char c;
} myPrueba;myPrueba.a = 10;int ab; en la función tengo que declararla así extern int ab;, ¿cómo sería con las estructuras?Es que el tema de las clases, contructor y todo eso me pierde, por lo cual pregunto, ¿en c18 también se puede construir ese tipo de objetos o se puede hacer algo parecido?
Otra duda con las estructuras es que le leído que una función puede devolver una estructura ¿cómo es eso ?.
Más dudas con las estructuras, ¿cómo puedo usar los datos de una estructura dentro de una función ajena de esa estructura?, sé que en variables si las haces globales tienes que definir esas variables en la función, ejemplo, si declaro una variable globalSi es global entonces no vas a tener problemas, sino vas a tener que pasarle el puntero a la estructura. Tal como el caso anterior
Me csgo en la leche, me he pasado media hora escribiendo explicando y no me lo ha publicado y le doy para atrás y me da error :(
Bueno total ya te lo ha explicado killer :D
Me supo pasar... y encima recien le daba publicar y me ponia unos tag de code al principio, lo mande como 3 veces hasta que se me ocurrio moverlo a un bloc de notas y revisarlo ahi, para darme cuenta que me habia saltado un tag de code, entonces el foro lo agregaba solo xD
PD: Fijate si hay algo mal, que seguro lo hay, asi de paso se le dice bien a thulsa y aprendo de mi error.
Más dudas con las estructuras, ¿cómo puedo usar los datos de una estructura dentro de una función ajena de esa estructura?, sé que en variables si las haces globales tienes que definir esas variables en la función, ejemplo, si declaro una variable global
Código:
int ab;
en la función tengo que declararla así
Código:
extern int ab;
, ¿cómo sería con las estructuras?
void funcion1(void)
{
unsigned char variable1=0;
}
unsigned char global1=0;
void main(void)
{
while(true){}
}
extern unsigned char global1;
void funcion(void)
{
}
Pero tengo dudas de donde declararlas si en xx.c o en xx.h, es que he visto programas donde se declaran en el .h pero cuando yo hago algún ejemplo me da error, me dice que myPrueba tiene varios argumentos o algo de eso
struct Nombre{
int a;
float b;
char c[5];
};luego tendremos que añadir un identificador a esa estructura para poder trabajar con ella, de esta manera:struct nombre MYS_DATOS;struct Nombre{
int a;
float b;
char c[5];
}MYS_DATOS;struct Nombre{
int a;
float b;
char c[5];
};
typedef struct nombre MYS_DATOS;typedef struct Nombre{
int a;
float b;
char c[5];
}MYS_DATOS;MYS_DATOS myDato;myDato.a = 100;typedef struct Nombre{
int a;
float b;
char c[5];
}MYS_DATOS;MYS_DATOS myDato;y si utilizamos esa estructura en más de un fichero fuente tendremos que declarar la variable en la cabecera del archivo de esta manera.extern MYS_DATOS myDato;Me he metido con todo esto de las clases porque he de confesar que he robado algún código que otro de arduino y lo he estado adaptando a C18 y de momento funciona bien, pero quería profundizar más y hacer mi código más eficiente y profesional y al ver el tema de las clases y constructores me hizo pensar.
Ahora si, perfecto ;-) veo que has comprendido muy bien el uso de structuras y la manera de trabajar con ellas, enorabuena sigue asi ((:-))
Y por si fuera poco, también existe C#
https://es.wikipedia.org/wiki/C_Sharp
Es una variante de Microsoft que también fue aprobado como estándar.
Insertar Cita
Shocked vaya,la verdad que me queda camino que jode lol lol lol lol.
¿que lenguaje es el recomendado para programar bien?
Por ejemplo un puntero de c "void *p;" es una bomba en potencia. Tienes acceso a toda la memoria sin restricciones.
int math_x
int math_y
int math_suma(int, int);
char led_a;
char led_b;
void led_on(void);
void led_off(void);
void buzz_on(void);
void buzz_off(void);
leds.a
leds.b
leds.c
leds.temporizador