Você está na página 1de 1

CASOS DE UNDEFINED BEHAVIOUR:

 Uso de variáveis não inicializadas: nunca esqueça de inicializar variáveis antes de acessá-
las, porque não existe a garantia de que o compilador fará isso por você.
 Estouro de um número inteiro com sinal: o comportamento do estouro de um inteiro com
sinal em C é indefinido. Ele pode ser zerado, seu valor pode ser mantido, ele pode virar
um número negativo, etc. Tudo depende do compilador e do ambiente de execução,
incluindo a arquitetura do processador. Por este motivo, nunca deixe de validar a
aritmética de números inteiros com sinal.
 Rotacionamento de bits: rotacionar os bits de um número inteiro por mais bits do que ele
possui é undefined behavior (por exemplo rotacionar 33 vezes um inteiro de 32 bits), e seu
comportamento pode depender do compilador ou da arquitetura da CPU.
 Divisão por zero: o resultado de uma divisão por zero tem comportamento indefinido na
linguagem C. Pode ser gerada uma exceção, o resultado pode ser zero, seu HD pode ser
formatado, ou qualquer outra coisa pode acontecer! :-)
 Acesso inválido à memória: erros como o uso de ponteiros não inicializados ou nulos e o
acesso fora dos limites de um vetor tem comportamento indefinido na linguagem C.

Você também pode gostar