rnta 0 Denunciar post Postado Julho 29, 2013 tenho uma dúvida... eu posso dizer que main retorna NULL? ou é perigoso esse tipo de retorno. int main () { fazerQualquerCoisa(); return NULL; } Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Julho 30, 2013 Pode haver comportamento indefinido. n1570, 6.3.2.3p5: Any pointer type may be converted to an integer type. Except as previously specified, the result is implementation-defined. If the result cannot be represented in the integer type, the behavior is undefined. The result need not be in the range of values of any integer type. Portanto, haverá comportamento indefinido caso NULL não possa ser representado como (int). Lembrando que a representação de NULL (ou (void *) 0, ou (T *) 0, ...) não necessariamente tem todos os bits iguais a 0. Portanto, mesmo que a representação de (int) da implementação tenha (int) 0 como um objeto de tamanho sizeof (int), com todos os bits zerados, não há garantia de que (int) NULL não causará undefined behavior. Resumindo: use um inteiro. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus GP 13 Denunciar post Postado Agosto 1, 2013 Já que você não quer usar um número "diretamente", use EXIT_SUCCESS ou EXIT_FAILURE, lembre-se de incluir stdlib.h. Compartilhar este post Link para o post Compartilhar em outros sites