libro **bib=NULL;libro **aux=NULL;
libro.open("Socios.bin",ios::out|ios::binary);
saludos amigos una duda cual es la diferencia :Citarlibro **bib=NULL;libro **aux=NULL;con esto:Citar libro.open("Socios.bin",ios::out|ios::binary);ay alguna diferncia entre esos 2 codigos o son iguales??
cual es la diferencia
Ayudalo Señor.
NULL es 0 y efectivamente es una buena practica de programacion inicializar las variables asi.
No necesariamente... pero si es así en todos los casos que conozco...
Macro NULL ANSI C#define NULLUn puntero nulo constante definido según la implementación.
No es casi todos, eso es mentira mientras no muestres NINGUN compilador que defina NULL como algo diferente a cero. Por eso mantengo que NULL es 0 hasta que demuestres lo contrario; y es mas, NULL es 0, si a algun imbecil se le ocurre ponerle otro valor que lo haga, seguira siendo 0 para cualquiera. Por algo es NULL!
Quedo demostrado que NULL es 0 en casi todos o todos los compiladores actuales, pero también quedo claro que null puede ser cualquier cosa de acuerdo a ANSI C.
http://encarta.msn.com/dictionary_/null.html
la definición de microsoft no implica standart .
5. Null Pointer Constants
5.6 If NULL were defined as follows: #define NULL ((char *)0)wouldn't that make function calls which pass an uncast NULL work?
En general, un puntero se puede iniciar como calquier otra variable, aunque los unicos valores significativos son NULL o la direccion de un objeto previamente definido. NULL es una constant definida en el fichero stdio.h asi:#defined NULL ((void *)0) // definicion de NULL en c#defined NULL 0 // definicion de NULL en C++El lenguaje C garantiza que un puntero que apunte a un objeto valido nunca tendra un valor cero.El valor cero se utiliza oara indicar que ha ocurrido un error; en otras palabras, que una determinada operacion no se ha podido realizar. Por ejemplo, recuerde que la funcion gets cuando lee la marca de fin de fichero retrna un puntero nulo (NULL), indicando asi que no ha mas datos para leer.En general, no tiene sentido asignar enteros a punteros porque quien gestiona la memoria es el sistema operativo y por lo tanto es el, el que sabe en todo momento que direcciones estan libres y cuales estan ocupadas...
CitarEn general, un puntero se puede iniciar como calquier otra variable, aunque los unicos valores significativos son NULL o la direccion de un objeto previamente definido. NULL es una constant definida en el fichero stdio.h asi:#defined NULL ((void *)0) // definicion de NULL en c#defined NULL 0 // definicion de NULL en C++El lenguaje C garantiza que un puntero que apunte a un objeto valido nunca tendra un valor cero.El valor cero se utiliza oara indicar que ha ocurrido un error; en otras palabras, que una determinada operacion no se ha podido realizar. Por ejemplo, recuerde que la funcion gets cuando lee la marca de fin de fichero retrna un puntero nulo (NULL), indicando asi que no ha mas datos para leer.En general, no tiene sentido asignar enteros a punteros porque quien gestiona la memoria es el sistema operativo y por lo tanto es el, el que sabe en todo momento que direcciones estan libres y cuales estan ocupadas... C/C++ Curso de prgamacion 2ª edicion.Fco. Javier Ceballos.Uds. diran...
Macro NULL ANSI C#define NULLUn puntero nulo constante definido según la implementación.Ejemplo:#define NULL 0 DJGPP#define NULL 0ó#define NULL 0Ló#define NULL ((void *)0) Borland#define NULL ((void*0) /* Para C++ */ Dev-C++
No pienso continuar...Por dios, que manera de hacer perder el tiempo y confundir innecesariamente a la gente.