Variables numéricas de incialización
Cuando la variable se declara, mandan al recopilador poner el espacio de almacenaje a un lado para la variable. Sin embargo, el valor almacenado en ese espacio, el valor de la variable, no se define. Puede ser que sea cero, o puede ser que sea un cierto valor al azar de la “basura”. Antes de usar una variable, debes inicializarla siempre a un valor conocido. Tomemos este ejemplo:
int count; /* Set aside storage space for count */
count = 0; /* Store 0 in count */
Esta declaración utiliza el igual (=), que es operador de asignación de la c. Puedes también inicializar una variable cuando ha declarado. Para hacer así pues, seguir el nombre variable en la declaración del declaración con un igual y el valor inicial deseado:
int count = 0;
double rate = 0.01, complexity = 28.5;
Tener cuidado de no inicializar una variable con un exterior del valor la gama permitida. Aquí están dos ejemplos de inicializaciones out-of-range:
int amount = 100000;
unsigned int length = -2500;
El recopilador de C no coge tales errores. Tu programa puede compilar y acoplamiento, pero puedes conseguir resultados inesperados cuando se funciona el programa.
Tomemos el ejemplo siguiente para calcular el número total de sectores en un disco:
// Programa modelo para calcular sectores en un disco //
#include<stdio.h>
#define SECTOR_PER_SIDE 63
#define SIDE_PER_CYLINDER 254
void main()
{
int cylinder=0;
clrscr();
printf("Enter The No. of Cylinders in the Disk \n\n\t");
scanf("%d",&cylinder); // Get the value from the user //
printf("\n\n\t Total Number of Sectors in the disk = %ld", (long)SECTOR_PER_SIDE*SIDE_PER_CYLINDER* cylinder);
getch();
}
La salida del programa es como sigue:
Enter The No. of Cylinders in the Disk
1024
Total Number of Sectors in the disk = 16386048 |
En este ejemplo vemos tres nuevas cosas para aprender. el #define es utilizado para utilizar constantes simbólicas en el programa o en algunos casos para ahorrar tiempo definiendo palabras largas en símbolos pequeños.
Aquí hemos definido el número de sectores por el lado que es 63 como SECTOR_PER_SIDE para hacer el programa fácil entender. El mismo caso es verdad para el scanf del #define SIDE_PER_CYLINDER 254. () se utiliza conseguir la entrada del usuario.
Aquí estamos tomando el número de cilindros como entrada del usuario. * se utiliza multiplicar dos o más valores según las indicaciones del ejemplo.
la función del getch () básicamente consigue un solo carácter entrado del teclado. Mecanografiando el getch (); aquí paramos la pantalla hasta que cualquier llave se golpea del teclado.
|