C não inicializa variáveis automaticamente , então se você não inicializar -los corretamente , você pode obter resultados inesperados. Felizmente, C faz com que seja fácil de inicializar variáveis ao declará -los. Instruções
inicializar variáveis na Declaração
1
Inicializar uma variável em C para atribuir -lhe um valor de partida. Sem isso, você vai conseguir tudo o que passou a ser na memória naquele momento , o que leva a um comportamento inconsistente e erros irreproduzíveis que podem ser extremamente difícil de rastrear.
2
Adicione uma inicialização à declaração. Apenas aderência em uma missão até o fim da declaração , assim:
int x = 5;
3 Saiba que inicializar matrizes funciona de forma semelhante , exceto que você deve colocar vários , separados por vírgulas valores dentro chaves . Ao fazer isso, você pode deixar de fora o tamanho do array, e será preenchido automaticamente :
int month_lengths [] = { 31 , 28, 31 , 30, 31 , 30, 31 , 31, 30, 31, 30 , 31 };
4 Aproveite cadeias de caracteres. As cadeias de caracteres , que são realmente arrays de caracteres , também suportam um formato mais simples para a inicialização : título de char
[] = " Meu Programa ";
5 Expresse qualquer tipo de inicialização de matriz em formato de ponteiro (desde matrizes são realmente ponteiros ) :
int * month_lengths = { 31 , 28, 31 , 30, 31 , 30, 31 , 31, 30, 31 , 30, 31 }; char * title = " Meu Programa ";
6 Lembre-se que as estruturas em C são inicializados da mesma forma como matrizes :
papel struct = {" Hamlet " , 7, FALSE, "Príncipe da Dinamarca ", " Kenneth Branagh "};
< br > inicializar variáveis manualmente
7 Espere para inicializar uma variável em outro lugar no programa se isso vai ser mais claro. Por exemplo, uma variável que será o índice de um loop for é geralmente melhor inicializado no loop for . Isto faz com que seja mais fácil para o outro programador para ler , uma vez que a inicialização está perto de onde ele irá ser utilizado .
8
Inicializar a estrutura de dados no momento certo . Se uma estrutura de dados que vai ser alocado dinamicamente com malloc () ou uma função semelhante , você não pode inicializar -lo até depois que ele é alocado. No entanto, neste caso, o que você está declarando é na verdade um ponteiro, que ainda deve ser inicializado para NULL como uma coisa natural.