Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MAFUS

#321
Por supuesto. Solo debes tener dos punteros por objeto: uno al siguiente elemento de la lista principal (la flecha roja) y el otro hacia su propia lista (la flecha azul). Los ejementos que son de la lista secundaria solo deben usar uno de los dos punteros.
#322
La convención cdecl, que es la estándar en C y C++, dice que los argumentos se pasarán de derecha a izquierda, que con esto no hay que confundir con que los argumentos de una llamada se pueden evaluar en el orden que el compilador prefiera.

Si se dejara que cada vez que se hace una llamada el orden del paso de los argumentos pudiera cambiar esta información se debería guardar en algún sitio para saber la función llamada dónde buscar esos argumentos, o se debería usar algo parecido a reflections en otros lenguajes, cosa que en C no existe. Los nombres de las variables desaparecen. En el stackframe solo queda el xBP y el offset, y esto debe estar escrito a fuego en el código máquina, por tanto el orden tiene que estar perfectamente definido, sea cual sea la convención de llamada que se use. Que por cierto, el código que he pasado no funcionará con cualquier convención que use registros.
#323
Cierto, no se asegura que se carguen en ese orden, pero sí que serán contiguos en memoria. Por lo cual es igual el orden en que se carguen porque a la hora de crear el marco de la función siempre ocuparán los mismos espacios en el marco.

Por cierto, he modificado un poco el código: no tenía en cuenta si el elemento actual era mayor a 'mayor'.
#324
Eso quiere decir que el programa debe funcionar, nada mas.

Pásate por esta web para conocer la legalidad con respecto a este tema: http://www.legaltoday.com/practica-juridica/penal/penal/la-comprobacion-de-antecedentes-penales-por-parte-de-las-empresas
#325
Quédate con tu profesor:
int mayor(int n1, int n2, int n3, int n4, int n5) {
   int mayor = n1;
   for(int *p=&n2; p<=&n5; ++p)
       if(*p > mayor)
            mayor = *p;
   return mayor;
}
#326
Un puntero. Es lo que tiene ocultar punteros, que se llega a confundir a la gente. Mala práctica.
#327
A ver, es un trabajo de clase. Debes inventarte esa base de datos.
#328
Aprovecha el bucle loop. Cambia los whiles por if.
Si hay un dato en puerto serie lo lees en va.
Si va vale 0 imprime "OFF"
Si va vale 1 imprime "Modo 1"
Si va vale 2 imprime "Modo 2"
Esperar 400ms

Prueba esto.
#329
Sigue el programa:
Cuándo hay un dato entras en el if.
Si has pulsado 1 va valdrá 1.
Entonces entras en el primer while donde la condición es que se repita si va vale 1. Cómo no hay cambio al terminar el bucle va seguirá valiendo 1 y repetirá el bucle de nuevo. Y esto será infinito.
Cambia el valor de va antes de salir del bucle a 0, por ejemplo.
#330
scanf hace el mismo comportamiento que scanf, pero en vez de la fuente ser stdin, es una cadena dada.

strtok consigue toques de una cadena dada. Se le pasa una segunda cadena, que puede cambiar en cada llamada, que indicará los delimitadores. El toquen obtenido será una cadena desde la posición de la última llamada (o es inició si es la primera) hasta encontrar uno de los caracteres delimitadores dados. El toquen es devuelto uno a cada llamada y debe ser recogido por un puntero a carácter. La cadena original se ve afectada. Si la cadena original es una cadena constante strtok puede tener efectos extraños.