elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 [99] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 ... 161
981  Programación / Programación C/C++ / Re: otra manera de escribir *envp++ en: 6 Febrero 2017, 15:17 pm
En referente a tu primera pregunta: así es. De hecho la instrucción seguiría todos los pasos que te he dicho, pero al no haber nadie recogiendo el valor de ésta, el efecto final sería solo el incremento.

En referente a tu segunda pregunta: La instrucción sería ... *++envp .... De nuevo los operadores se evalúan de derecha a izquierda, por lo tanto ++ tiene prioridad sobre *. Como ++ en este caso es preincremento se ejecuta enseguida y después entrega el valor, que será pasado a * para conseguir el valor de la nueva dirección de memoria.
982  Programación / Programación C/C++ / Re: otra manera de escribir *envp++ en: 5 Febrero 2017, 23:58 pm
Si miras la tabla de prioridad de operadores de C verás que * y ++ tienen la misma prioridad y se evalúan de derecha a izquierda. Además de esto hay que recordar que el postincremento aumenta la variable después de que esta haya devuelto su valor.

Juntando todo esto tenemos que:
1. *envp++ -> Una expresión para operar
2. envp++ -> Evaluados los operadores que afectan a la variable se toma es postincremento.
3. Como envp++ es un postincremento primero se tomará el valor.
4. *envp -> Se toma el valor de la variable (una dirección de memoria) y se ejecuta el operador *, consiguiendo el valor que guarda dicha dirección.
5. envp++ -> Se termina de ejecutar el operador de postincremento sobre la variable y la hace apuntar a la siguiente posición de memoria.
983  Programación / Programación C/C++ / Re: otra manera de escribir *envp++ en: 5 Febrero 2017, 17:14 pm
Código
  1. ... *var++ ...

Es lo mismo que hacer
Código
  1. ... *var ...
  2. ++var;
984  Programación / Programación C/C++ / Re: Ayuda con programa de control en C en: 5 Febrero 2017, 16:50 pm
Como es en ventanas, y supongo que en Windows, ya no tengo conocimientos de ello. Seguro alguna otra persona pueda darte mejor ayuda.
De forma general, y por si pudieras mirarlo por ti mismo si no hay más ayuda, debes registrar el evento de tecla pulsada a la ventana principal del programa. Una vez se dispare miras si la tecla que se ha pulsado se corresponde a la tecla 'c'. Si es así cambia el valor de una variable que controle la llamada a tu función a True para que tu programa llame a dicha función. De igual forma se se vuelve a pulsar 'c' la variable pasará a False y el programa ya no llamará tu función.
985  Programación / Programación C/C++ / Re: Ayuda con programa de control en C en: 5 Febrero 2017, 00:43 am
No, decía si el programa va a ser para la consola o sería en ventanas.
986  Programación / Programación C/C++ / Re: Como declaro una variable como no dfinida o especificada en C en: 4 Febrero 2017, 19:18 pm
Pues lo dicho, hasta que no aprendas a usar cadenas no podrás hacerlo como quieres.
987  Programación / Programación C/C++ / Re: Como declaro una variable como no dfinida o especificada en C en: 4 Febrero 2017, 15:26 pm
C no tiene variables indefinidas. Pero puedes hacer otra cosa: por ejemplo tomar una cadena. Si la lees y es un dato numérico transfórmalo como tal y lo introduces en una variable, si es un retorno de carro trata eso como valor no definido.
988  Programación / Programación C/C++ / Re: Ayuda con programa de control en C en: 4 Febrero 2017, 12:15 pm
Hay muchas formas diferentes. Depende de si es un entorno visual o si es por consola.
Cada entorno visual tiene su forma de manejar eventos.
Si es por consola puedes apoyarte en tu sistema operativo y usar su API, o buscar una biblioteca que se encargue de ello. Si este último es tu elección te recomiendo ncurses. Si vas a usar el S.O. y es Linux busca información sobre termios. Para todo lo demás ni idea.
989  Programación / Programación C/C++ / Re: [C++][Consulta] Error inesperado con destructor en: 3 Febrero 2017, 14:24 pm
Si pudieras pasar tu código entero para probar mejor.

La idea es:
Código
  1. static void Eliminar(ArbolBinario **raiz) {
  2.    // como no soy de C++ no sé si aquí el operador &
  3.    // en el argumento ArbonBinario &rama te podría funcionar
  4.    if(*raiz) {
  5.        delete *raiz;
  6.        *raiz = NULL;
  7.    }
  8. }
  9.  
  10. void EliminarRamaIzda() {
  11.    if(!izda) {
  12.        delete izda;
  13.        izda = NULL;
  14.    }
  15. }
  16.  
  17. void EliminarRamaDcha() {
  18.    if(!dcha) {
  19.        delete dcha;
  20.        dcha = NULL;
  21.    }
  22. }
  23.  
  24. ~ArbolBinario() {
  25.    EliminarRamaIzda();
  26.    EliminarRamaDcha();
  27. }
  28.  

Lo dicho, si tuviera el código completo del árbol podría probarlo, pero por ahora esa es mi idea. Puede tener una infinidad de bugs, código no probado.
990  Programación / Programación C/C++ / Re: [C] EOF en entrada standar en: 3 Febrero 2017, 09:30 am
Míralo de esta forma:
Es un flujo de datos y debe poder mover cualquier dato. Si tomara EOF como marca de final querría decir que no podría, en ningún caso, tomar ese valor aún fuera numérico para una operación matemática y por tanto se limitaría, de forma artificial, el rango de valores que pudiera tomar.
Páginas: 1 ... 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 [99] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines