Código C:
Ver original
int x;
Es decir donde defino un identificador y establezco su tipo de dato, pero el significado de la Definicion que encontre por alli dice: " Definicion: Asocia un identificador con un tipo y le asigna espacio en memoria", lo que para mi es la Inicializacion, entonces, ¿Cual es la diferencia entre la Definicion de una variable y su Inicializacion?.
Saludos y gracias.
EDITO: Ya encontre una pagina que explica muy bien todo, asi que aqui dejo la respuesta por si alguien tiene la misma duda:
Declaración: Simplemente asocia un identificador con un tipo (existencia semántica). La declaración de una función se denomina prototipo ( 4.4.1). La gramática C++ exige que la declaración de una entidad se indique primero su tipo y después el identificador con el que se la conocerá en adelante.
Ejemplos:
Código C:
Ver original
extern int x;
Iniciación: Asigna memoria física al objeto (existencia física). Si no se produce una inmediata asignación de valores determinados, la zona asignada puede contener basura.
Ejemplo:
Código C++:
Ver original
int x;
Definición: Asocia un identificador con un tipo y le asigna espacio en memoria (declaración + iniciación). Observe que después de la definición, el objeto no tiene porqué estar inicializado. Es decir, si es un objeto-dato, el espacio asignado puede contener basura.
Ejemplo:
Código C:
Ver original
int func(int x, char c) { return (x + c) }
Inicialización: Asignar valores concretos al objeto (existencia utilizable); a partir de aquí, el espacio de memoria contiene datos correctos.
Ejemplo:
Código C:
Ver original
x = 5; // inicia x con el valor 5