Hola, como veran el tema es super sencillo, pero lo que no entiendo es la diferencia entre la Definicion e Inicializacion, por ejemplo, se que la Declaracion es decir, por ejemplo:
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:
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:
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 originalint 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: