Zé da Moca Escreveu:Então nesse caso pk razão é que as vezes se declara o int main()??
Porque o main em C deve retornar um inteiro.
Quando fazes void main é diferente de main (sem void nem int no retorno), porque quando o retorno é omisso, normalmente 'int' é assumido pelos compiladores.
Zé da Moca Escreveu:Quando é que "classificamos" as funções
Não percebi.
Zé da Moca Escreveu:...e exactamente quando é usamos o return=0.
return=0, nunca :p
Agora return 0, quando queres retornar da função, ie, quando queres que e execução da função pare nesse ponto e a execução do programa prossiga onde esta foi chamada...
Zé da Moca Escreveu:A outra coisa que me esta a picar, pk é que se usa void main(void)?? ja sei que o primeiro void indica uma função que n vai retornar valores/calculos agora o void dentro de parentesis!!!! Sei que tem a ver com os argumentos da função, mas um argumento nulo??? que é isso?
main(void) ou funcao_qualquer(void) NÃO significa que o argumento é nulo, mas sim que a função não recebe parâmetros.
Pode haver é muitas situações em que os argumentos passados em execução sejam nulos. Ex:
void funcao(int *param){
if(param != NULL){
printf("%d",*param);
}
int * ponteiro_inteiro = NULL;
funcao(ponteiro_qualquer);
Agora, coisas como: funcao(int a, int b, char c, float f) nunca vao a NULL (pelo menos no sentido que lhe estás a dar, uma vez que em C NULL não é mais que uma 'mascara' para o 0 (zero):p )