Tecnología

Inicio

Cómo inicializar variables en C

C no inicializa las variables de forma automática, por lo que si no inicializa correctamente, puede obtener resultados inesperados. Afortunadamente, C hace que sea fácil para inicializar las variables cuando se declaran.

Instrucciones

Inicializar variables en Declaración

1 Inicializar una variable en C para asignarle un valor inicial. Sin esto, usted conseguirá lo que pasó a ser en la memoria en ese momento, lo que conduce a un comportamiento inconsistente y errores irreproducibles que pueden ser muy difíciles de localizar.

2 Añadir una inicialización de la declaración. Sólo virar en una misión hasta el final de la declaración, así:

int x = 5;

3 Sabe que al inicializar arrays funciona de manera similar, excepto que usted debe poner varios valores separados por comas entre llaves. Al hacer esto, puede dejar fuera el tamaño de la matriz, y será rellenado automáticamente:

int month_lengths [] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

4 Aprovechar las cadenas de caracteres. Las cadenas de caracteres, que en realidad son arreglos de caracteres, también son compatibles con un formato más sencillo para la inicialización:

título char [] = "Mi Programa";

5 Expresar uno u otro tipo de matriz de inicialización en formato puntero (ya que las matrices son realmente punteros):

int

month_lengths = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
Título de carbón = "Mi Programa";

6 Recuerde que las estructuras en C se inicializan en la misma forma que las matrices:

función struct = { "Hamlet", 7, FALSO, "Príncipe de Dinamarca", "Kenneth Branagh"};

Inicializar variables manualmente

7 Espere para inicializar una variable en otro lugar en el programa si esto será más clara. Por ejemplo, una variable que será el índice de un bucle for es generalmente el mejor inicializado en el bucle. Esto hace que sea más fácil para otro programador para leer, desde la inicialización está cerca de donde se va a utilizar.

8 Inicializar la estructura de datos en el momento adecuado. Si una estructura de datos va a ser asignado dinámicamente con malloc () o una función similar, no se puede inicializar hasta después de que se asigna. Sin embargo, en este caso, lo que está declarando es en realidad un puntero, que aún debe ser inicializado a NULL como una cuestión de rutina.

Consejos y advertencias

  • Es bueno tener el hábito de la inicialización de todo, incluso si no es necesario. La sobrecarga de la CPU es trivial, y que le ahorrará a partir de los errores que son difíciles de diagnosticar un día.
  • Si inicializa una variable de cadena en la declaración y luego modificarlo más tarde, asegúrese de no invadir la longitud de la cadena original. Por lo general es mejor declarar que una cadena y luego inicializar manualmente con strcpy () si va a modificarlo durante el programa.