Controle variável para c programação
Na programação C, você pode mexer com a variável no seu código, alterando-o em outro tipo, dando-lhe um novo nome completo, ou lançar um feitiço sobre a variável para atender às suas necessidades, benevolentes ou não.
Conteúdo
Typecasting em descrença
Quando é uma variável flutuante não uma bóia? Quando é estereotipado em um int, é claro. Este truque é possível em C usando a typecast. Por exemplo:
(Int)dívida
Na linha anterior, a variável flutuador dívida é rotulado com um valor int. O int em parênteses direciona o compilador para tratar o valor de dívida como um número inteiro.
Por que alguém iria querer fazer isso?
Porque às vezes uma função requer um tipo variável específica e que tipo não está disponível. Ao invés de converter e manipular vários tipos de variáveis em um programa, você pode simplesmente estereotipado uma variável para o tipo que você deseja. Não é um truque comum, mas é muitas vezes necessário, como mostra a isso não está certo.
ISSO NÃO ESTÁ CERTO
#include int main () {int a, b-c-flutuador printf ("Introduza o primeiro valor: ") -scanf ("% d",&a) -printf ("Introduza o segundo valor: ") -scanf ("% d",&b) -c = a / b-printf ("% D /% d =% .2fn", A, b, c) -Retornar (0) -}
Exercício 1: Digite o código-fonte de isso não está certo em seu editor. Construir e executar.
Aqui está um exemplo de execução com a entrada em negrito:
Introduza o primeiro valor: 3Introduza o segundo valor: 23/2 = 1,00
Obviamente, é errado que 3 ÷ 2, de alguma forma trabalhar para 1,50. Se o computador diz que é 1,00, o computador deve estar correto.
Ou talvez o computador é apenas confuso porque na linha 12 do código-fonte, dois valores int são divididos, eo resultado é atribuído a uma bóia. Isso não funciona muito bem, no entanto, porque dividir um inteiro por um número inteiro em C resulta em um inteiro como o resultado.
O valor 1 é o valor inteiro mais próximo de 1,50. Assim, mesmo que o computador está errado, ele está fazendo exatamente o que foi dito para fazer.
Exercício 2: Modificar seu código-fonte, mudando Linha 12 para ler
c = (float) a / (float) b-
Salvar a alteração. Criar e executar usando os mesmos valores que acabamos de mostrar. Aqui está o novo output:
Introduzir o primeiro valor: 3Input o segundo valor: 23/2 = 1,50
Melhor. Isso é porque você estereotipado variáveis uma e b na equação, permitindo que temporariamente o compilador para tratá-los como números de ponto flutuante. Portanto, o resultado é o que deveria ser.
Como criar coisas novas com typedef
Você pode entrar em um monte de problemas com a palavra-chave typedef. Ele pode lançar palavras e operadores normais C a partir de seus autos consistentes em todos os tipos de travessuras.
Os perigos da typedef
#include typedef int fedido-fedido main () {a = 2-printf fedido ("Todo mundo sabe disso ") -printf ("% D +% d =% dn", A, a, a + a) -Retornar (0) -}
Em Os perigos de typedef, a declaração typedef na Linha 3 define a palavra fedido para ser o mesmo que a palavra-chave int. Em qualquer lugar você pode usar int no código, você pode usar a palavra fedido em vez disso, como mostrado nas linhas 5 e 7.
Exercício 3: Use o código-fonte dos perigos do typedef para criar um novo programa, demonstrando que um tipo de variável fedido é o mesmo que um int. Construir e executar.
Concedida, o exemplo, em Os perigos de typedef é bastante parva nenhuma programador sério iria criar um programa real assim. Onde typedef é usado na maioria das vezes é na definição de estruturas. A declaração typedef ajuda a reduzir o chunkiness dessa atividade.
Criando uma estrutura da maneira tradicional mostra como nested operação estrutura funciona, dado um conhecimento das estruturas:
Criando uma estrutura da maneira tradicional
Video: Programação com Arduino - Aula 02 - Variáveis
id struct {char primeira [20] -char passado [20] -} - data struct {int mês ano-int dia-int -} - struct humana {struct aniversário ID de data nome-estrutura -} -
utilização typedef definir uma estrutura mostra como as declarações ocorrer se você fosse typedef as estruturas:
UTILIZAÇÃO typedef PARA DEFINIR A ESTRUTURA
typedef struct {char id primeira [20] -char passado [20] -} personal-typedef data struct {int mês-int dia-int ano-} humana {aniversário pessoal name-calendário -} calendário-estrutura -
Nesta Lista, o ID de estrutura é typedef ao nome pessoal. Isso não é uma variável nome- é um typedef. É o mesmo que dizer: “Todas as referências a ID de struct são agora o mesmo que o nome pessoal.”
Da mesma forma, a data de estrutura typedef é de calendário. Finalmente, na declaração da estrutura humana, os nomes typedef são usados em vez das definições estrutura mais complexa.
A estrutura aninhada
#include #include int main () {data struct {int mês-int ano dia-int -} - humana {char nome struct [45] -struct aniversário data -} - struct humana presidente strcpy (president.name,"George Washington") -president.birthday.month = 2-president.birthday.day = 22-president.birthday.year = 1732-printf ("% S foi carregado em% d /% d /% dn", President.name, president.birthday.month, president.birthday.day, president.birthday.year) -Retornar (0) -}
exercício 4: Substitua o nome membro na estrutura humana em uma estrutura aninhada com uma estrutura aninhada. Nome que id estrutura e tê-lo contêm dois membros, matrizes de caracteres, primeiro e último, para o armazenamento de nomes e sobrenomes de um indivíduo.
Se você fizer tudo corretamente, a referência ao nome do presidente será as variáveis president.name.first e president.name.last. Certifique-se de atribuir valores a essas variáveis no seu código e exibir os resultados.
exercício 5: Modificar o código fonte do projeto que você criar no Exercício 4 de usar typedef, como mostrado na Usando typedef para definir uma estrutura. Construir e executar.
Video: Lógica de programação - Aula 04 - Variáveis e constantes
Pode-se argumentar que o uso de typedef não tornar o seu código mais claro do que se tivesse simplesmente usado bons nomes de variáveis e texto bem formatado. Por exemplo, você não pode usar typedef simplesmente porque você não quer ter que lembrar o que você definiu. Mas você vai encontrar outro código que usa typedef. Não deixe que ele te assustar.
A verdadeira vantagem de usar typedef com uma estrutura é, possivelmente, que ele evita que você digitar a palavra struct muitas vezes.