Diferencia entre Struct y typedef struct en C++
Este pequeño artículo discutirá la palabra clave typedef
en C++. También discutiremos la diferencia entre una estructura simple y una estructura typedef
en C++.
la palabra clave typedef
en C/C++
El typedef
es una palabra clave en C/C++ utilizada para dar nuevos nombres o alias a los tipos de datos. Estos tipos de datos pueden ser primitivos (p. ej., int, float, etc.) o no primitivos o tipos de datos definidos por el usuario (p. ej., una clase
, una estructura
o una unión
).
La palabra clave typedef
se usa principalmente con tipos de datos definidos por el usuario que son algo complicados de usar en el programa o tienen nombres poco relacionados con el contexto del programa.
La sintaxis para declarar typedef
para el tipo de datos int primitivo es la siguiente:
typedef int negative_int;
Ahora, siempre que debamos declarar una variable int en el programa, podemos hacerlo con el nombre negative_int
así:
#include <iostream>
using namespace std;
int main() {
cout << "Welcome to the typedef tutorial" << endl;
typedef int negative_int; // typedef keyword use
negative_int num = -7;
cout << "The number is: " << num << endl;
return 0;
}
La salida de este código será:
Welcome to the typedef tutorial
The number is: -7
Diferencia entre struct
y typedef struct
en C++
No hay distinción entre struct
y typedef struct
en C++ ya que mientras otra declaración con el mismo nombre no oscurezca el nombre, todas las structs
, uniones
, enumeraciones
y class
las declaraciones se comportan como si estuvieran implícitamente definidas por tipos.
El lenguaje C usaba typedef struct
porque, en C, cada vez que necesitas crear un objeto de struct
, es obligatorio usar la palabra clave struct
cada vez. Por lo tanto, typedef
es útil donde puede usar struct
solo por su nombre.