English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Lenguaje C

Control de Flujo de Lenguaje C

Funciones de C

Arreglos de C

Punteros de C

Cadenas de C

Estructura de Lenguaje C

Archivo de Lenguaje C

C Otro

Manual de Referencia de C

Palabra clave typedef de C

El lenguaje C proporciona el keyword typedef, que puedes usar para dar un nombre nuevo y significativo a un tipo. Es decir, se utiliza para redefinecer el nombre de una variable existente.

La sintaxis de typedef

typedef <existing_name> <alias_name>

En la sintaxis anterior, " existing_name"es el nombre de la variable existente, mientras que " alias_name"es otro nombre proporcionado a una variable existente.

Por ejemplo, supongamos que queremos crear una variable de tipounsigned intSi queremos declarar múltiples variables de este tipo, se vuelve muy tedioso. Para superar este problema, utilizamostypedefel keyword.

Vamos a entenderlo a través de un ejemplo simple.

En la declaración anterior, utilizamostypedefEl keyword declara un tipo unsigned intunitvariables.

Ahora, podemos crear variables mediante la siguiente declaración:unsigned intEstudiante

unit a, b;

en lugar de escribir:

unsigned int a, b;

Deberías haber observadotypedefEl keyword proporciona una forma abreviada de nombrar variables existentes, ofreciendo una manera simplificada. Cuando se manejan tipos de datos largos (especialmente declaraciones de estructuras), este keyword es muy útil.

让我们通过一个简单的实例来理解。

#include <stdio.h>
int main()
{
    Vamos a entenderlo a través de un ejemplo simple.
    typedef unsigned int unit;
    unit i,j;10;
    i =2j =
    0;
    printf("i valor es :%d", i);
    return 0;
}

Resultado de salida

printf("\nj valor es :%d", j);10 
El valor de i es :20

El valor de j es :

Uso de typedef para la estructura

struct student
{
char name[20];
int age;
};
El tipo de variable:1;

Los siguientes son declaraciones de estructura:En la declaración de estructura anterior, creamos la siguiente declaración:Estudiante

El tipo de variable:1;

struct student s1La declaración anterior muestra que se ha creado la variable stypedef,pero la declaración es bastante larga. Para evitar esta declaración tan larga, usamosLa palabra clave, crea un tipoLas variables.

struct student
{
char name[20];
int age;
};
typedef struct student stud;
stud s1, s2;

En la declaración anterior, declaramos una variable de tipo struct studentstud. Ahora, podemos usarstudLas variables para crearstruct studentvariables de tipo.

La declaración typedef anterior se puede escribir como:

typedef struct student
{
    char name[20];
    int age; 
}
stud s1,s2;

De la declaración anterior, concluimos que,typedefLa palabra clave reduce la longitud del código y la complejidad de los tipos de datos. También ayuda a entender el programa.

Veamos otro ejemplo en el que se utiliza la declaración de estructura typedef.

#include <stdio.h>
typedef struct student
{
    char name[20];
    int age;
}stud;
int main()
{
    stud s1;
    printf("Ingrese el estudiante s1Detalles: ");
    printf("\nIngrese el nombre del estudiante:");
    scanf("%s", &s1.name);
    printf("\nIngrese la edad del estudiante:");
    scanf("%d", &s1.age);
    printf("\n Nombre del estudiante : %s", s1.name);
    printf("\n Ingrese la edad del estudiante : %d", s1.age);
    return 0;
}

Resultado de salida

Ingrese el estudiante s1Detalles: 
Ingrese el nombre del estudiante: Peter
Ingrese la edad del estudiante: 28 
Nombre del estudiante : Peter 
Edad del estudiante : 28

typedef utilizado junto con punteros

También podemos utilizartypedefProporcionar otro nombre o alias para la variable de puntero.

Por ejemplo, generalmente declaramos un puntero, como se muestra a continuación:

int* ptr;

Podemos cambiar el nombre de las variables de puntero anteriores, como se muestra a continuación:

typedef int* ptr;

En la siguiente instrucción, declaramosint *tipos de variables. Ahora, solo necesitamos usar' ptr'variable se puede crearint *variables de tipo, como se muestra en la siguiente instrucción:

ptr p1, p2 ;

En la siguiente instrucción:p1yp2es' ptr'variables de tipo.