Programación General > C/C++

 Uso De Strcmp

<< < (3/4) > >>

JuanK:

--- Citar ---¿Como pensas que definen una constante a la pila que es variable y asignada en tiempo de ejecución por el S.O.?

NULL es 0 ...
--- Fin de la cita ---

Decir que
#define NULL 0

Es decir que apunta a la dirección 0... que desde luego es la dirección del comienzo del segmento de datos... del stack.

La mayoria, si es que no la totalidad de los compiladores, asignan 0 a NULL,, pero no es obligación que lo hagan asi, es libre de la implementación del compilador determinar a donde lo dejan apuntando y que dirección tomar como nula.

Eternal Idol:

--- Cita de: "JuanK" --- Decir que
#define NULL 0

Es decir que apunta a la dirección 0... que desde luego es la dirección del comienzo del segmento de datos... del stack.

La mayoria, si es que no la totalidad de los compiladores, asignan 0 a NULL,, pero no es obligación que lo hagan asi, es libre de la implementación del compilador determinar a donde lo dejan apuntando y que dirección tomar como nula.
--- Fin de la cita ---
No, el preprocesador se encarga de reemplazar la palabra NULL por 0. Nadie en su sano juicio usaria un compilador que no definiera NULL como 0 ...

F_Tanori:

--- Cita de: "JuanK" ---No, porque nadie te puede asegurar que x realmente no sea 0 sino NULL.


Por otro lado el ejemplo esta mal, no solo por el uso de i en un lado y de x en otro, sino que

en el caso que x sea 0:

if (x)  --> se resuelve como falsa

y

if (i==0)--> se resuelve como cierta
--- Fin de la cita ---
El que esta confundiendo las cosas eres tu

if compara falso/verdadero, 0/1, encendido/apagado, nel/simon es una logico boleano
por cierto strcmp no devuelve null :P


lo que puse fue


x=(i==0) //=1

if (x) <---- el if estaria recibiendo la condicion ya 'resuelta'
if (i==0)

y es lo MISMO  porque previamente le asignaste el resultado LOGICO de i==0 a x en lugar de pasarselo al IF

Tambien tengo entendido que NULL es 0 el if no revienta :P

 :hola:

JuanK:

--- Cita de: "Eternal Idol" ---
--- Cita de: "JuanK" --- Decir que
#define NULL 0

Es decir que apunta a la dirección 0... que desde luego es la dirección del comienzo del segmento de datos... del stack.

La mayoria, si es que no la totalidad de los compiladores, asignan 0 a NULL,, pero no es obligación que lo hagan asi, es libre de la implementación del compilador determinar a donde lo dejan apuntando y que dirección tomar como nula.
--- Fin de la cita ---
No, el preprocesador se encarga de reemplazar la palabra NULL por 0. Nadie en su sano juicio usaria un compilador que no definiera NULL como 0 ...
--- Fin de la cita ---
El preprocesador es del compilador.

Eternal Idol:

--- Cita de: "JuanK" --- Ni idea, no debería ser algo opcional sino estándar.

Y compiladores.. que se yo, hay mucho linuxero desocupado con ganas de parecer un hippie diferente y en una de esas hacen uno y por ser gratis pega...  :P  :whistling:
--- Fin de la cita ---
Puede ser pero es algo tan logico que seria una locura que NULL no fuera 0. Una cosa es que pueda haber algun demento con un compilador raro que haga cualquier cosa, eso seria lo minimo, pero no podemos no dar por sentado que NULL es 0 ... NULL es 0 y sino cambien el compilador  :lol:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa