Sim, futuramente seu código será lido/alterado por outra pessoa, provavelmente você.
Para facilitar esse processo, você pode fazer 'comentários' em seus programas de C, explicando o que cada trecho de código faz.
Além de serem importantes, são considerados uma boa prática de programação. Então, se você quer ser um bom programador C, deixe seus códigos comentados e bem explicados.
- Baixe nossa Apostila de C
Comentando códigos em C - Usando //
Não importa o que você escreva depois dessas duas linhas, elas não serão vistas.
Ela é bastante usada antes de algum trecho de código C, explicando o que as próximas linhas fazem no programa, evitando assim que quem esteja lendo tenha que quebrar a cabeça para adivinhar o que o programador tentou fazer.
Veja o código exemplo:
#include <stdio.h> int main() { //O seguinte trecho mostra uma mensagem na tela //Essas linhas comentadas não irão aparecer na tela printf("Meu primeiro programa - C Progressivo!\n"); }
O resultado do código compilado é:
No que as linhas que começam com // foram totalmente ignoradas.
Você pode colocar uma ou milhão de linhas: na hora de compilar e linkar, o compilador C irá excluir todas as linhas começadas em //
Logo, os comentários servem apenas para a leitura humana, não afetando em absolutamente nada o desempenho de seu aplicativo C.
Outro uso comum dos comentários é na criação de cabeçalhos de seus programas em C, como no exemplo abaixo:
#include <stdio.h>
// Código que exibe uma mensagem na tela
// Por Fulano de Tal
// Em 21/12/2112
// Para Curso C Progressivo
int main() { //O seguinte trecho mostra uma mensagem na tela //Essas linhas comentadas não irão aparecer na tela printf("Meu primeiro programa - C Progressivo!\n"); }
Como usar os delimitadores /* */ em linguagem de programação C
Isso é bem comum entre estudantes que estão resolvendo alguma questão e colam o enunciado e idéia da solução no corpo do código.
E aí, vai escrever 20 vezes as duas barras // ?
Claro que não, use os delimitadores '/*' e '*/'.
Tudo o que você quer ver comentando coloca entre /* e */, e tudo que será dentro será ignorado.
A diferença desses delimitadores para as duas barras //, é que as barras ignoram o que tem naquela linha, já os delimitadores /**/ ignoram TUDO que estejam entre eles, seja uma letra, linha ou milhões de linhas.
Veja um exemplo que possui dezenas de linhas entre os delimitadores /**/, mas ao compilarmos e executarmos esse código em C, somente o printf é que faz realmente algo:
#include <stdio.h> int main() { /* Adoro estudar a linguagem de programação C enquanto escuto metal! Iron Maiden - Fear Of The Dark I am a man who walks alone And when I'm walking in a dark road At night or strolling through the park When the light begins to change I sometimes feel a little strange A little anxious when it's dark Fear of the dark, fear of the dark I have a constant fear that something's always near Fear of the dark, fear of the dark I have a phobia that someone's always there Have you run your fingers down the wall And have you felt your neck skin crawl When you're searching for the light? Sometimes when you're scared to take a look At the corner of the room You've sensed that something's watching you Fear of the dark, fear of the dark I have a constant fear that something's always near Fear of the dark, fear of the dark I have a phobia that someone's always there Have you ever been alone at night Thought you heard footsteps behind And turned around and no one's there? And as you quicken up your pace You'll find it hard to look again Because you're sure that someone's there Fear of the dark, fear of the dark I have a constant fear that something's always near Fear of the dark, fear of the dark I have a phobia that someone's always there Watching horror films the night before Debating witches and folklores The unknown troubles on your mind Maybe your mind is playing tricks You sense, and suddenly eyes fix On dancing shadows from behind (2x) Fear of the dark, fear of the dark I have constant fear that something's always near Fear of the dark, fear of the dark I have a phobia that someone's always there When I'm walking in a dark road I am a man who walks alone */ printf("Colocamos a letra da música Fear of the Dark, da banda Iron Maiden - mas voce nao viu !)\n"); }
Use comentários com moderação
Embora seus comentários não prejudiquem o funcionamento de seu programa em C, evite usar ele desnecessariamente, comentando printf e outras coisas óbvias: 'agora exibimos a mensagem', 'agora somamos os números' etc.
Use comentários para explicar o que é o programa, para que serve, qual a utilidade de um algoritmo que é mais complexo, elaborado ou grande.
19 comentários:
desta vez usou:
int main(main)
e não:
int main (void)
eu ainda não vi se explica essa diferença mais à frente mas gostava de saber porque é que desta vez usou assim.
Bom curso
Cumps sapofree
eu usei
int main()
e nada alterou ou seja rodou normal
imprimindo na tela o que eu determinei.
o comando entre colchetes pode ter alterações em outras funções eu acho
vou continuar estudando.
estou apenas começando.
A linha
int main(main)
deve ter sido erro de digitação
Concordo com o Usuário acima deve ter sido erro de digitação pois já foi corrigido.
porém eu tenho uma dúvida e se pudesse me explica eu ficarei muito grato por esclarecer minha curiosidade
Meu sétimo programa em C - C Progressivo!
"linha em branco"
Process returned 43 (0x2B) execution time : 0.004 s
Press ENTER to continue.
que é esta, o que ou qual é o significado de (0x2B) notei que ele muda conforme eu vou compilando ou o tamanho do programa vá aumentando
void segnifica "vazio", portanto () e (void) são a mesma coisa, já q o primeiro parenteses esta vazio e no segundo esta escrito vazio.
Sim, Anônimo, void significa vazio, o que não quer dizer que main() e main(void) sejam a mesma coisa.
Usando main(), estamos permitindo que a função main possa receber qualquer número de parâmetros.
Usando main(void) estamos deixando claro que esta função não irá receber nenhum parâmetro.
Penso q o anônimo está certo... não existe diferença, senão pelo acréscimo de mais um token.
Não, não está.
main() e main(void) são coisas diferentes.
Sim, num exemplo simples e tranquilo como este, vai ter exatamente o mesmo efeito, assim como na maioria dos exemplos e códigos para estudo.
Agora imagine uma aplicação mais complexa, que exija segurança, um sistema mais robusto com o mínimo de falhas.
Você usar main() vai estar dando a abertura para que seu código receba dados pela main vindo de fora, dados estes que podem ser maliciosos.
Porém, se você usar main(void), sua main não vai receber NADA, podem até tentar enviar, mas não passa, pois assim você deixa bem claro que seu código não precisa de nenhum dado vindo de fora, como parâmetros pela main.
É sempre interessante escrevermos, mesmo desde os exemplos mais simples e básicos, de uma maneira menos vulnerável. Pode não fazer muita diferença agora, mas esse hábito se torna essencial e diferenciador caso queiram seguir por um caminho mais profissional no mundo da programação.
alguem me explique o que é o return.
Igor Oliveira da Silva, para o computador, tudo o que retorna e que não é 0, é erro. O "return 0;" serve para dar o retorno 0 ao computador. Se você não colocar isso, ao instalar, o computador do usuário pode perguntar se o programa foi instalado corretamente.
O 'main(void)' pode ser escrito, também, nas formas 'float main(void), char main(void), double main(void)' ou não???
o codeblock nao esta aceitando os comentários com barras, apresenta a mensagem de erro: expected expression before "/" token e na linha seguinte error: stray '\343' in program.
Alguém pode ajudar? Com os delimitadores esta ok.
Marivaldo Cordeiro,
O (Ox2B) que você utilizou no exemplo, é o endereço de memória utilizado pelo programa durante uma determinada execução escrito no padrão Hexadecimal. Por isso a cada execução do programa, o dado entre parenteses é alterado.
O return serve para enviar algum dado para o endereço de memória responsável pela chamada da função.
Att, Saul
Opa tenho uma dúvida a respeito de comentários, escrevi um texto no code blocks assim:
///Letra (a): ler uma string de até 20 caracteres.
Minha intenção era só aumentar a visibilidade do texto, para explicar o código que fiz, já que escrevendo com duas barras //, fica difícil ler de longe, e depois que explicasse eu colocaria // novamente, mas mesmo com as 3 barras o texto mudou de cor cinza que é a cor padrão para um comentário para a cor azul, rodei o programa e funcionou normalmente sem que o texto atrapalhasse o resto do código, pode me explicar se:
char resposta[1000];
int escolha;
printf("isso também é um comentário?");
printf("Escolha (1)SIM (2)NÂO: ");
scanf("%d", &escolha);
if ( escolha == 1) {
printf("Qual a diferença entre os dois tipos de comentários com /?: ");
gets(resposta);
}
else
printf("Então o que seria esse comando ///?: ");
gets(resposta);
return 0;
Muito Bom!!!
Boa noite !!
Quero parabenizá-los pelo trabalho de vcs! Muito bom!!
Neste ano 2019 faço 60 anos e vou aprender C e os responsáveis por isso são vcs. Comecei hj e está dando tudo certo, até assustei minha esposa qdo bipou o computador rsrs! Vida longa a vcs, com muita sabedoria!!
Oi, sabe me dizer como eu faço a quebra de linha automática nos comentários?
Quero colar um texto mas sempre cai tudo numa linha só
Ctrl + ; muda o texto da linha para comentário no Dev C++
Ótima postagem!⠀Vai me ajudar na escrita de um artigo que estou publicando. vlw!
Postar um comentário