Typedef em c

Typedef em c

O typedef é a palavra-chave predefinida, que instrui o compilador a atribuir os tipos definidos pelo usuário aos tipos predefinidos de C, i.e., int, flutuação, decimal, bóia dupla, etc.

Typedef pode ser usado quando é difícil digitar várias vezes em um programa. Por exemplo, o uso múltiplo de “int não assinado” aumenta a complexidade do programa. Para reduzir essa complexidade, podemos definir um nome amigável para esse tipo. Por exemplo, se o estivermos usando no aluno, marcas, etc., Então podemos simplesmente nomear isso "aluno".

Em palavras simples, podemos dizer que o typedef reduz a complexidade do programa e também fornece clareza do código.

Usos de typedef

Existem dois tipos de usos da palavra -chave typedef.

O primeiro é com o tipo de dados predefinido. Quando se trata de alguns tipos de dados complexos e temos que criar mais de uma variável, usaremos o typedef para reduzir a complexidade do código.

Sintaxe

No trecho acima, podemos ver o caminho para usar o typedef usando um tipo de dados predefinido simples, no qual primeiro escrevemos a palavra -chave "typedef" e depois o tipo de dados que deve ser alias, eu.e., não assinado int etc., e então o nome que deve ser usado para esse tipo.

Exemplo 1

Nesta parte do código, usaremos a palavra -chave typedef para criar um alias para o nosso tipo de dados predefinido. Depois de incluir nosso arquivo de cabeçalho “Stdio.H ”, que nos permite executar operações de entrada e saída, passamos para nossa função principal () onde definimos variáveis ​​usando a palavra-chave typedef. Neste programa, estamos usando um tipo de dados longa e longa int. Primeiro, escrevemos a palavra -chave typedef e depois o tipo de dados que é muito tempo int. Como podemos ver, Long Long Int é viável para usar uma vez, mas se tivermos que usá -lo mais de uma vez, aumentará o tamanho do código. Em seguida, usamos um alias "LNG" para o nosso tipo de dados.

#incluir
#incluir
int main ()

typedef Long int lng;
Printf ("O byte de memória longa int as tomadas são: %ld \ n", sizeof (lng));
retornar 0;

Em seguida, usamos a instrução printf () para imprimir o tamanho do tipo de dados que vamos usar. Em nossa instrução printf (), passamos o método sizeof () responsável por verificar o tamanho da variável que é passada para ele. No nosso caso, estamos verificando o tamanho do tipo de dados que é "8".

Conforme mostrado na captura de tela abaixo, nosso tamanho de tipo de dados é impresso com sucesso.

Exemplo 2

Como estudamos acima, typedef reduz a complexidade do código. Typedef também pode ser usado com ponteiros. Sabemos que os ponteiros são os mais importantes no idioma C. Vamos começar com nosso código. Primeiro, incluiremos nossos arquivos de cabeçalho e, depois da função principal, declararemos um typedef de um ponteiro do tipo inteiro que é "Integer_ptr". Agora, em nossa função principal, criaremos um ponteiro inteiro "A" que apontará para o endereço da variável do tipo inteiro que declaramos em nossa próxima linha, que é "a_address" e atribui o valor "125023".

#incluir
typedef int* Integer_ptr;
int main ()

INTEGER_PTR A;
int a_addres = 125023;
a = &a_addres;
printf ("%p", a);

Na próxima linha, atribuímos o ponteiro "a" o endereço da variável A_Address usando a palavra -chave amperes e "&.”O AMPERSAND é usado para fazer referência ao endereço da variável que é armazenada na memória. Nesse caso, estamos referenciando o endereço de variável "a_address".

Por fim, imprimiremos o endereço de memória da variável "a_address" usando a instrução printf () na qual passamos "%p.”Isso denota os dados do tipo de ponteiro e“ A ”que mantém o endereço. A variável "a_address" é "0x7ffe889bd77c".

Como sabemos, a estrutura também é um tipo de dados definido pelo usuário. Às vezes é complexo e difícil criar objetos deles, por isso usamos o typedef para reduzir o tamanho da estrutura.

Sintaxe

A estrutura é usada para combinar vários tipos de dados em um único tipo que é um tipo definido pelo usuário. Às vezes, é difícil usar o tipo de dados de estrutura de várias vezes por causa de sua complexidade; portanto, para reduzir esse fator, usamos a palavra-chave typedef para definir um alias amigável. Primeiro, escrevemos a palavra -chave typedef e depois a palavra -chave STRUT que é usada para criar uma estrutura. Depois disso, o nome é dado a esse tipo.

Exemplo 3

Neste exemplo, vamos manipular os registros dos alunos e aprenderemos a usar a palavra -chave typedef com a função da estrutura. Enquanto vamos trabalhar com strings e personagens, incluiremos os dois arquivos de cabeçalho “Stdio.H "e" String.h ". Após os arquivos do cabeçalho, definiremos ou digitaremos. Para fazer isso, primeiro escreveremos a palavra -chave typedef e depois a palavra -chave STRUT, porque vamos agrupar vários tipos de dados em um tipo e depois nomeá -lo "aluno". Dentro do aparelho, inicializaremos todas as variáveis ​​e matrizes que serão acessados ​​ao longo do programa, para que não precisemos defini -las de novo e de novo.

#incluir
#incluir
Typedef Struct Student
nome de char [50];
curso de char [50];
int std_id;
Estudante;
int main ()
Student Stud;
StrCpy (Stud.nome, "mudasir");
StrCpy (Stud.Curso, "BS SE");
viga.std_id = 6495407;
printf ("O nome do aluno é: %s \ n", Stud.nome);
printf ("Curso de estudante é: %s \ n", garanhão.curso);
printf ("rolo de aluno não é: %d \ n", garanhão.std_id);
retornar 0;

Agora, movendo -se em direção à nossa função principal () onde definimos um objeto do nosso tipo de estrutura que é "Stud". O "Stud" agora detém todos os tipos de dados que declaramos fora da função principal. Uma coisa a ter em mente é que sempre que chamamos o tipo de dados da estrutura, temos que adicionar um ponto “.”Entre o objeto e a variável, vamos ligar da classe de estrutura. Essas variáveis ​​são sempre chamadas usando a sintaxe:

$ object_defined.nome variável

Em primeiro lugar, passaremos o nome do aluno usando o objeto "Stud" e o nome que é "mudasir" para a função strcpy (). A função strcpy () é responsável por copiar os dados passados ​​para a variável. Nisso, estamos copiando o nome "Mudasir" para a variável da estrutura "Stud".Vamos repetir a mesma etapa para o curso. E depois disso, basta atribuir o ID à variável "std_id" que é "6495407".

Agora estamos imprimindo nossos dados do aluno usando a instrução printf () na qual passamos o “prisioneiro.Nome ”, responsável por manter o nome do aluno, %s responsável por exibir a string, repetindo a mesma etapa na próxima linha para exibir o curso e também para o ID do aluno. No caso de ID, é um tipo inteiro, então passamos o %D nesta declaração, o que significa que ele exibirá o tipo decimal de dados.

Conforme mostrado no aluno de saída fornecido, nome, curso de estudante e ID do aluno são exibidos.

Conclusão

Neste guia, aprendemos sobre a palavra -chave typedef e seus múltiplos usos. Também o usamos de várias maneiras, usando ponteiros, estruturas e tipos de dados predefinidos simples.