IDENTIFICADORES, VARIABLES Y CONSTANTES

IDENTIFICADORES

Se llaman identificadores a los nombres con que nos referimos para nombrar variables, labels, funciones y demás elementos que componen el lenguaje C. Un identificador esta constituido por una letra o un signo de subrayado que puede estar seguido de números, letras o signos de subrayado.
Aunque un identificador puede tener más de 32 cifras solo las 32 primeras son significativas. Quiere esto decir que dos identificadores expresan el mismo elemento cuando sus 32 primeras letras son iguales.

: Ejemplo

Validos

no validos

conto

3conto

variable

variable!

main_text

main..text

VARIABLES

Una variable es un identificador que identifica un lugar (adress) en la memoria donde se almacenan los datos que son asignados a dicha variable.

Declaración las variables

tipo lista_de_variables;

El tipo es uno de los tipos de datos válidos en C mientras que la lista_de_variables esta constituida de uno o más identificadores separados por comas.

 
  • int i,j,k;
    short int si;
    Unsigned int ui;
    double di,dj,dk;

 

Punto de declaración de las variables

En un programa en un programa en C las variables pueden ser declaradas en cuatro puntos diferentes del archivo fuente. Dependiendo del lugar donde se declaren se distinguen:

Variables globales

Se declaran fuera de todas las funciones, incluida la función principal main(). Se le llama variable global porque puede ser utilizada por cualquier función donde quiera que se encuentre en el programa.

Variables locales

Son declaradas dentro de una función al inicio de la misma. Una variable local solo puede ser utilizada en la función donde ha sido declarada.

Variables locales en un bloque

Son declaradas en un bloque limitado por { } y solo pueden ser utilizadas dentro del mismo.

Parámetros formales

Los Parámetros formales (más tarde se verán lo que son) de una función además de servir para transmitir los datos a la misma operan como cualquier variable local.
Para aclarar estos conceptos veamos el siguiente ejemplo:

 
  • #include <stdio.h>
    int s;/*variable global */

    void total(int x) /* parámetro formal */
    {

  • s=x+s;
    {
 
  • void display()
    {

  • static char count; /*variable local distinta de count en main() que no coje memoria del stack*/
    for(count=0;count<10;count++)printf(".");
    print("El valor de s es %d\n",s);
    }
 
  • void main()
    {

  • int count; /* Variable local diferente a la de display */
    s=0; /* inicialización de la variable s */
    for (count=0;count<10;count++)
    {

  • int c; /* variable local válida sólo en este bloque */
    c=count;
    total(c);
    display();
    }
  • }
 

 

CONSTANTES

En C constantes son valores fijos que no pueden ser alterados por ninguna instrucción en el programa Una constante puede ser de cualquier tipo. El modo conque se representa dende del tipo al que pertenece. Las constantes de tipo char van entre apóstrofos. Ejemplo c='a';.

Constantes hexadecimales y octales.

Una constante hexadecimal va precedida de 0x o 0X (cero seguido de x o bien X). mientras que la constante octal va precedida de un 0 (cero) y números comprendidos entre el 0 y el 7

 
  • hex = 0xFF /*255 en decimal*/
    oct = 011 /* 9 en decimal*/

IINICIALIZACION DE LAS VARIABLES

En un programa en C se requiere muchas veces darle un valor a las variables en el momento de su declaración (Inicialización). Este valor se asigna bien en el momento de la compilación como es el caso de las variables globales y estáticas o cada vez que se llama a la función a la que pertenezcan como ocurre con las variables locales.

Inicialización de las variables de tipo fundamental.

tipo nombre_var = constante;
 
  • char ch = `g';
    int p = 0;
    float temp = 45.3;

Inicializacion de vectores dimensionados

tipo nombre_vector[dimension]={lista_valores};
 
  • in i[5]={1,2,3,4,5}

    En este caso sería:
    i[0]=1; i[1]=2; i[2]=3; i[3]=4; i[4]=5;

Inicialización de vectores no dimensionados

tipo nombre_vector []={lista_valores};
 
  • in i[]={1,2,3,4,5}

    En cuyo caso sería:
    i[0]=1; i[1]=2; i[2]=3; i[3]=4; i[4]=5;

Inicialización de vectores de tipo char

tipo nombre_vector []={"string"};(1)
tipo nombre_vector []="string";(2)
 
  • char vino[]="Rioja"; /* declarado según la sintaxis (2)

    en cuyo caso sería:
    vino[0]='R'; vino[1]='i'; vino[2]='o'; vino[3]='j'; vino[4]='a; vino[5]='\0';
    El compilador definiría un vector de 6 elementos.

  • :char vino[]="Rioja";

    dirección

    contenido

    $500 (vino[0])

    `R'

    $501 (vino[1])

    `i'

    $502 (vino[2])

    `o'

    $503 (vino[3])

    `j'

    $504 (vino[4])

    `a'

    $505 (vino[5])

    `\0'