C typedef
El lenguaje C proporcionatypedefla palabra clave, que puede usar para dar un nuevo nombre a un tipo. El siguiente ejemplo define un término para un número de un solo byte:BYTE:
typedef unsigned char BYTE;
Después de esta definición de tipo, el identificador BYTE puede usarse como la abreviaturaunsigned chardel tipo, por ejemplo:
BYTE b1, b2;
Por convención, al definir se usan mayúsculas para recordar al usuario que el nombre del tipo es una abreviatura simbólica, pero también puede usar minúsculas, como se muestra a continuación:
typedef unsigned char byte;
También puede usartypedefpara dar un nuevo nombre a los tipos de datos definidos por el usuario. Por ejemplo, puede usar typedef con una estructura para definir un nuevo nombre de tipo de datos y luego usar este nuevo tipo de datos para definir directamente variables de estructura, como se muestra a continuación:
Ejemplo
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
书标题 : C 教程 书作者 : Ejemplo 书类目 : 编程语言 书 ID : 12345
typedef vs #define
#definees una directiva de C que se usa para definir alias para varios tipos de datos, de manera similar atypedef#define, pero tienen las siguientes diferencias:
- typedefSe limita a definir nombres simbólicos para tipos,#defineno solo puede definir alias para tipos, sino también para valores; por ejemplo, puede definir 1 como ONE.
- typedefes interpretado por el compilador,#definela declaración es procesada por el preprocesador.
A continuación se muestra el uso más simple de #define:
Ejemplo
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
TRUE 的值: 1 FALSE 的值: 0Otras extensiones