Nuevo

Variables y palabras reservadas en C


Una variable en términos simples es un lugar de almacenamiento que tiene algo de memoria asignada. Básicamente, una variable utilizada para almacenar alguna forma de datos. Los diferentes tipos de variables requieren diferentes cantidades de memoria y tienen un conjunto específico de operaciones que se pueden aplicar a ellas.
Declaración variable:
una declaración variable típica tiene la forma:
  tipo nombre_variable;
    o para multiples variables:
  tipo nombre_variable1, nombre_variable2, nombre_variable3;
Un nombre de variable puede consistir en alfabetos (mayúsculas y minúsculas), números y el carácter de subrayado '_'. Sin embargo, el nombre no debe comenzar con un número.
Declaración y definición de la
variable b / w de diferencia La declaración de variable se refiere a la parte donde una variable se declara o introduce por primera vez antes de su primer uso. La definición de variable es la parte en la que a la variable se le asigna una ubicación de memoria y un valor. La mayoría de las veces, la declaración de variables y la definición se realizan juntas.
Consulte el siguiente programa C para una mejor aclaración:
#include <stdio.h>
int main()
{
    // declaration and definition of variable 'a123'
    char a123 = 'a'
  
    // This is also both declaration and definition as 'b' is allocated
    // memory and assigned some garbage value.   
    float b;  
  
    // multiple declarations and definitions
    int _c, _d45, e; 
  
    // Let us print a variable
    printf("%c \n", a123);
  
    return 0;
}
Salida:
a
¿Es posible tener una declaración y una definición separadas? 
Es posible en caso de variables y funciones externas . 


Las palabras recervadas son palabras reservadas específicas en C, cada una de las cuales tiene una característica específica asociada. Casi todas las palabras que nos ayudan a usar la funcionalidad del lenguaje C se incluyen en la lista de palabras reservadas. ¡Entonces puede imaginar que la lista de palabras resrvadasno será pequeña!
Hay un total de 32 palabras clave en C:
auto       break    case     char     const     continue
   default    do       double   else     enum      extern
   float      for      goto     if       int       long
   register   return   short    signed   sizeof    static
   struct     switch   typedef  union    unsigned  void
   volatile   while 
La mayoría de estas palabras clave ya se han discutido en las distintas subsecciones del lenguaje C , como Tipos de datos, Clases de almacenamiento, Declaraciones de control, Funciones, etc.
Discutamos algunas de las otras palabras clave que nos permiten usar la funcionalidad básica de C:
const : const se puede usar para declarar variables constantes. Las variables constantes son variables que, cuando se inicializan, no pueden cambiar su valor. O en otras palabras, el valor asignado a ellos no puede modificarse más abajo en el programa. 
Sintaxis:
const tipo_datos var_nombre = var_valor; 
Nota: Las variables constantes deben inicializarse durante su declaración. La palabra clave const también se usa con punteros. Consulte el calificador const en C para comprender lo mismo.
externo: extern simplemente nos dice que la variable se define en otro lugar y no dentro del mismo bloque donde se usa. Básicamente, el valor se le asigna en un bloque diferente y esto también se puede sobrescribir / cambiar en un bloque diferente. Entonces, una variable externa no es más que una variable global inicializada con un valor legal donde se declara para ser utilizada en otro lugar. Se puede acceder desde cualquier función / bloque. Además, una variable global normal también puede hacerse externa colocando la palabra clave 'extern' antes de su declaración / definición en cualquier función / bloque. Básicamente, esto significa que no estamos inicializando una nueva variable, sino que solo estamos usando / accediendo a la variable global. El propósito principal de usar variables externas es que se puede acceder a ellas entre dos archivos diferentes que forman parte de un programa grande.
Sintaxis:
extern tipo_dato var_nombre = var_valor;
static : la palabra clave static se usa para declarar variables estáticas, que se usan popularmente al escribir programas en lenguaje C. ¡Las variables estáticas tienen la propiedad de preservar su valor incluso después de estar fuera de su alcance! Por lo tanto, las variables estáticas conservan el valor de su último uso en su alcance. Por lo tanto, podemos decir que se inicializan solo una vez y existen hasta la finalización del programa. Por lo tanto, no se asigna memoria nueva porque no se vuelven a declarar. Su alcance es local para la función para la cual fueron definidos. Se puede acceder a las variables estáticas globales en cualquier lugar dentro de ese archivo ya que su alcance es local para el archivo. Por defecto, el compilador les asigna el valor 0. 
Sintaxis:
static tipo_dato var_nombre = var_valor; 
void : void es un tipo de datos especial. Pero, ¿qué lo hace tan especial? vacío, como significa literalmente, es un tipo de datos vacío. Significa que no tiene nada o no tiene valor. Por ejemplo, cuando se usa como el tipo de datos de retorno para una función, simplemente representa que la función no devuelve ningún valor. De manera similar, cuando se agrega al encabezado de una función, representa que la función no toma argumentos. 
Nota: void también tiene un uso significativo con punteros. Consulte el puntero vacío en C para comprender lo mismo.
typedef : typedef se usa para dar un nuevo nombre a un tipo de datos ya existente o incluso personalizado (como una estructura). A veces resulta muy útil, por ejemplo, en un caso en que el nombre de la estructura definida por usted es muy largo o simplemente necesita una notación abreviada de un tipo de datos existente.
Implementemos las palabras clave que hemos discutido anteriormente. Eche un vistazo al siguiente código, que es un ejemplo práctico para demostrar estas palabras clave:

#include <stdio.h>
  
// declaring and initializing an extern variable
extern int x = 9; 
  
// declaring and initializing a global variable
// simply int z; would have initialized z with
// the default value of a global variable which is 0
int z=10;
  
// using typedef to give a short name to long long int 
// very convenient to use now due to the short name
typedef long long int LL; 
  
// function which prints square of a no. and which has void as its
// return data type
void calSquare(int arg) 
{
    printf("La raiz cuadrada de %d es %d\n",arg,arg*arg);
}
  
// Here void means function main takes no parameters
int main(void
{
    // declaring a constant variable, its value cannot be modified
    const int a = 32; 
  
    // declaring a  char variable
    char b = 'G';
  
    // telling the compiler that the variable z is an extern variable 
    // and has been defined elsewhere (above the main function)
    extern int z;
  
    LL c = 1000000;
  
    printf("Hello Edumaka!\n");
  
    // printing the above variables
    printf("Este es el valor de una constante 'a': %d\n",a);
    printf("'b' es una variable char. Su valor es %c\n",b);
    printf("'c' es una variable long long int. Su valor es %lld\n",c);
    printf("Estos son los valores de 'x' y'z'"
    " respectivamente: %d and %d\n",x,z);
  
    // value of extern variable x modified
    x=2; 
  
    // value of extern variable z modified
    z=5; 
  
    // printing the modified values of extern variables 'x' and 'z'
    printf("Estos son los valores modificados de las variables externas"
    " 'x' y'z' respectivamente: %d and %d\n",x,z);
  
    // using a static variable
    printf("El valor de la variable estatisca 'y' No se inicializa a 5 despues"
            "de la primera iteracion! Compruevelo usted mismo :)\n");
  
    while (x > 0)
    {
        static int y = 5;
        y++;
        // printing value at each iteration
        printf("El valor de y es %d\n",y);
        x--;
    }
  
    // print square of 5
    calSquare(5); 
  
    printf("Adios! Te veo pronto. :)\n");
  
    return 0;
}
Salida:
Hola mundo 
Este es el valor de la variable constante 'a': 32 
'b' es una variable char. Su valor es G 
'c' es una variable int larga larga. Su valor es 1000000 
Estos son los valores de las variables externas 'x' y 'z' respectivamente: 9 y 10 
Estos son los valores modificados de las variables externas 'x' y 'z' respectivamente: 2 y 5 
El valor de la variable estática ¡'y' NO se inicializa a 5 después de la primera iteración! Compruébelo usted mismo :) 
El valor de y es 6 
El valor de y es 7 
El cuadrado de 5 es 25 
¡Adiós! Te veo pronto. :)

No hay comentarios