Função [RESOLVIDO]

1. Função [RESOLVIDO]

NICHOLAS
p0w3llx

(usa Debian)

Enviado em 24/07/2015 - 14:22h

Galera qual a diferança e significado de se escrever assim:

int main(void)
void main(void)
void main(int)

Oque signifca essa expressao em parenteses e tem necessidade de colocar isso?


  


2. Re: Função

Elder Marco
eldermarco

(usa Fedora)

Enviado em 24/07/2015 - 14:32h

O retorno. Uma função pode ser declarada da seguinte maneira.

tipo_retorno nome_funcao (tipo_argumento1 nome_argumento1, tipo_argumento2 nome_argumento2, ...); 


Logo, se você disser que tipo_retorno é um int, significará que a função main irá retornar um inteiro quando terminar. Se for um void, significa que ela não irá retornar nada. E em argumentos, se você quer disser que a função recebe um tipo especifico, você precisa declarar esse tipo. Assim, se tipo_argumentoN for um int, significa que na chamada da função dentro do código vai ter que passar um inteiro para a função nessa posição. Se for um float, vai ter que passar um float. E lógica semelhante para os outros tipos.


3. É um padrão

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 24/07/2015 - 15:38h


A função main possui um padrão, na seção 5.2.2.1.1 da ISO/IEC 9899 este é definido:

Na inicialização do processo, a função main é chamada, podendo possuir as seguintes assinaturas:

int main(void) { /*
...
*/ }


Não recebe argumentos para o processo que a chama.
Retorna um valor inteiro como resultado do processo.

int main(int argc, char *argv[]) { /*
...
*/ }

Recebe argumentos para o processo, onde argc é o contador de argumentos e argv é a lista de argumentos recebidos.
Retorna um valor inteiro como resultado do processo.

Quanto ao
void main(void) { /*
...
*/ }

É um padrão livre que o compilador aceita e não um padrão da linguagem. Evite usá-lo.



4. Re: Função [RESOLVIDO]

NICHOLAS
p0w3llx

(usa Debian)

Enviado em 24/07/2015 - 16:00h


aproveitando o topico pode em dizer a diferença e vantagem em usar os comandos: getche getch, getchar e putchar?


5. Re: Função [RESOLVIDO]

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 24/07/2015 - 16:21h


Todos esses comandos são de acesso a I/O

int getc(FILE* stream); 

Essa função captura um caractere de um determinado fluxo.
Ex: Pegar um caractere do teclado
int key = getc(stdin); 


int getchar(void); 

Equivale ao int getc(stdin);

int putc(int c, FILE *stream); 

Envia um caracter para um fluxo
Ex: Escrever 'a' no terminal
putc('a', stdout); 


int putchar(int c); 

Equivalente a int putc(int c, stdout);




6. Re: Função

Paulo
paulo1205

(usa Ubuntu)

Enviado em 24/07/2015 - 20:22h

p0w3llx escreveu:

aproveitando o topico pode em dizer a diferença e vantagem em usar os comandos: getche getch, getchar e putchar?


Uma primeira sugestão é não aproveitar tópico. Acabou o assunto antigo e surgiu um novo? Marque o tópico antigo como fechado ou resolvido e abra um tópico novo. Com um título novo e adequado à nova discussão, alguém que não pudesse ou não quisesse participar do assunto antigo pode se interessar em participar do novo (e o oposto também vale, claro).

Não obstante, respondendo à pergunta, getchar() e putchar() são funções padronizadas que servem, respectivamente, para ler um caráter da entrada de dados padrão e para escrever um caráter na saída de dados padrão.

As funções getch() e getche() não são padronizadas em lugar nenhum. Seus nomes são sugestivos de que servem para ler um caráter (respectivamente, sem fazer e fazendo eco desse caráter lido na saída), mas uma descrição adequada do que essas funções realmente seriam dependem de você informar qual a biblioteca de que elas fazem parte.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts