![]() |
|
||||
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Você está aqui: C ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
||||
Como escrever uma função C que aceita um número variável de argumentosQuantidade de visualizações: 8449 vezes |
||||
Em algumas situações, pode ser necessário escrever uma função C que aceita um número variável de argumentos. Uma função deste tipo é printf(). Como você sabe, a função printf() nos permite fornecer uma string com marcadores de formatação e um número ilimitado de nomes de variáveis ou valores, que serão avaliados e inseridos em sua devida posição na string resultante. Na linguagem C, uma função que aceita um número variável de argumentos pode ser criada por meio do uso do tipo va_list e três funções: va_start(), va_arg() e va_end(). Tanto o tipo quanto as funções estão disponíveis no header <stdarg.h>. O tipo va_list (na verdade um parâmetro para as macros definidas em cstdarg) é usado para guardar informações sobre os argumentos da função. A função va_start() fica encarregada de inicializar um objeto do tipo va_list, de forma que as chamadas à va_arg() possam retornar os argumentos adicionais fornecidos à função que desejamos escrever. A função va_end(), por sua vez, se encarrega de limpar o objeto va_list e quaisquer outras porções de memória usadas no processo. Veja um trecho de código no qual temos uma função soma() que recebe quantos argumentos forem necessários (observe que o parâmetro obrigatório é a quantidade de argumentos que serão fornecidos):
|
||||
![]() |
||||
C ::: Dicas & Truques ::: Strings e Caracteres |
||||
Como escrever uma função na linguagem C que verifica se duas strings são iguais ou diferentesQuantidade de visualizações: 9197 vezes |
||||
Esta dica mostra como escrever uma função em C que verifica se duas strings são iguais ou diferentes. O nome da função é str_equal(). Esta função aceita duas strings como argumentos e retorna 1 se estas forem iguais e 0 em caso contrário. Experimente, faça as devidas alterações e adicione mais esta função ao seu repertório de códigos C. Veja o código completo para o exemplo:
Ao executar este código nós teremos o seguinte resultado: As palavras são iguais | ||||
C ::: Dicas & Truques ::: Rotinas de Conversão |
||||
Como converter uma string em um valor de ponto-flutuante usando a função atof() da linguagem CQuantidade de visualizações: 9035 vezes |
||||
Em algumas situações, pode ser necessário converter uma string em um valor numérico de ponto-flutuante. Para isso podemos usar a função atof(). Esta função recebe uma matriz de caracteres e tenta transformá-la em um valor de ponto-flutuante. Se a conversão não for possível, o valor 0 é retornado. Os sinais "+" e "-", o ponto decimal e uma parte exponencial, representada por "e" ou "E" são válidos na string a ser convertida. Veja um exemplo:
| ||||
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
||||||||||||||||||||
Como alocar memória para instâncias de uma estrutura (struct) e acessá-las usando ponteiros em CQuantidade de visualizações: 11387 vezes |
||||||||||||||||||||
Esta dica mostra como declarar uma estrutura (struct), alocar duas instâncias desta e acessá-las usando ponteiros. Considere a seguinte struct:
Note que agora a variável titulo foi declarada como uma matriz de caracteres de 80 posições. Mais adiante você entenderá o propósito de tal abordagem. Veja agora como alocamos memória para duas instâncias desta estrutura:
A partir deste ponto as variáveis a e b são ponteiros para as duas instâncias recém alocadas. Observe que, quando usamos ponteiros para estruturas, seus membros são acessados usando-se a notação -> em vez do ponto. Veja:
Para definir o valor para o membro titulo é preciso lançar mão da função strcpy(). Isso é feito porque estamos lidando com ponteiros, e cada instância de Livro possui sua área de memória a partir da qual a posição inicial da cadeia de caracteres que receberá o título do livro já foi inicializada. Veja:
Observe agora o código completo para o exemplo:
| ||||||||||||||||||||
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |