Como inicializar variáveis ​​em C

C não inicializa as variáveis ​​automaticamente.

Inicialize variáveis ​​em sua declaração

Passo 1

Inicializa uma variável em C, atribuindo a ela um valor inicial. Sem isso, você obterá o que está naquele momento na memória, o que levará a comportamentos inesperados e erros irreproduzíveis que podem ser muito difíceis de rastrear.

Passo 2

Adicione uma inicialização na declaração. Basta adicionar uma atribuição à direita do final da instrução, como: "int x = 5;".

Passo 3

Você deve saber que a inicialização da matriz funciona de maneira semelhante, a menos que você tenha que colocar vários valores separados por vírgulas dentro das chaves. Ao fazer isso, você pode evitar colocar o tamanho da matriz e ela será preenchida automaticamente: "int duration_meses [] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; "

Passo 4

Tire proveito de seqüências de caracteres. Seqüências de caracteres são conjuntos de caracteres que suportam um formato mais simples de inicialização: 'char title [] = "Meu Programa";'.

Passo 5

Expresse qualquer tipo de inicialização da matriz em formato de ponteiro (já que eles são, na verdade, ponteiros): 'int * duration_months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 31}; char * title = "Meu programa"; '.

Passo 6

Lembre-se de que as estruturas em C são inicializadas da mesma maneira que as matrizes: 'struct rol = {"Hamlet", 7, FALSE, "Príncipe da Dinamarca", "Kenneth Branagh"};'.

Inicializar variáveis ​​manualmente

Passo 1

Espere para inicializar uma variável em outro lugar do programa, se isso tornar o código mais claro. Por exemplo, uma variável que será o índice de um loop geralmente é inicializada no loop "for". Isso torna mais fácil para outro programador ler o código, já que a inicialização está próxima de onde ele será usado.

Passo 2

Inicialize a estrutura de dados no momento certo. Se uma estrutura de dados for alocada dinamicamente com "malloc ()" ou uma função similar, você não poderá inicializá-la até que fique maluca. No entanto, nesse caso, o que você declarou é realmente um ponteiro, que será inicializado para o valor "NULL" por padrão.