Вы находитесь на странице: 1из 14

Declaraciones

Pamela Guevara

Basado en material de Waldo Valenzuela y Mario Medina.


1

Formato

Declaracin bsica.

Tipo nombre1, nombre2, ; int i; char letra1, letra2, letra3; unsigned short direccion; El ; es el TERMINADOR de lnea en C.

Ejemplos:

Todas las declaraciones terminan con ;

Nombres (identificadores)

Se utilizan para variables, funciones, etc. Se pueden incluir maysculas, minsculas, dgitos del 0 al 9, _ (guin bajo)

No pueden comenzar con un dgito. Abc ABc ABC abc Estndar considera al menos 31 primeros caracteres
3

C distingue entre maysculas y minsculas.

Longitud ilimitada.

Inicializacin de variables

Asignacin de valor inicial.


int I = 15; char letra1 = A, letra2, letra3; unsigned short direccion = 0x3F65; unsigned numero = 034;

Inicializacin de variables
Un byte
Dir. 0 Dir. 1 Dir. 2

15230

int a; //en direccin 2

Dir. 23

6958

int b=20; //en direccin 23

Memoria (2n bytes)


5

Variables en memoria
Largo de memoria de 8 bits

I: entero (4 bytes)

Un byte

Valor inicial: 00000015 Valor inicial: A Valor inicial indeterminado Valor inicial: 0x3F65 Valor inicial: 034

letra1: caracter (1 byte)

letra1 letra2 letra3 direccion numero

letra2, letra3: caracter

direccion: short (2 bytes)

numero: entero (4 bytes)

00 00 00 15 A ?? ?? 3F 65 00 00 00 034

Memoria 6

Ejemplo de declaraciones
#include <stdio.h> int main(void) { int entero = 100; float flotante = 331.79; double doble = 8.44e+11; char caracter = W; bool verdad = false; printf(entero = %d\nflotante = %f\n doble = %lf\ncaracter = %c\nverdad = %i\n, entero, flotante, doble, caracter, verdad); }
7

Resultado de la ejecucin
entero = 100 flotante = 331.790009 doble = 844000000000.000000 caracter = W verdad = 0

Ntese que los nmeros de punto flotante se imprimen con 6 decimales

Declaracin de Vectores

Vectores unidimensionales.
int vector[20]; Vector de 20 elementos (vector[0] a vector[19])

Numeracin de vectores siempre comienza en 0. Vector[5] = 10; Qu pasa si se accesa vector[30]?

Acceso directo a elementos.

El compilador no verifica lmites.

typedef

Mecanismo que permite definir nuevos nombres para tipos de datos.


typedef ushort unsigned short; ushort corto, mascorto;

Simplifica el cdigo.

Facilita los cambios de tipos de datos.

10

Ambito de una variable

Seccin de cdigo donde una variable es vlida o conocida (scope en ingls).


Ambito a nivel de bloque. Ambito a nivel de archivo. Nombres de variables en un mbito deben ser nicos. Es posible que variables de un mismo nombre existan en mbitos diferentes.

11

Ambitos en el cdigo
int a; { int f; { int f, g, i; } { int i; } }

Colores indican mbitos de las variables


a tiene mbito de archivo f, g, i tienen mbito en el bloque verde i tiene mbito en el bloque rojo f tiene mbito en el bloque azul
12

Ambitos de bloques

Bloque: secuencia de cdigo delimitada por llaves { }.

Variable definida al comienzo de un bloque es visible en todo el bloque. Bloques pueden ser anidados. Variable declarada en un bloque interno domina sobre la variable del mismo nombre en el bloque externo.

13

Ambito de archivo

Identificadores declarados fuera de todo bloque son visibles en todo el archivo


son Variables globales no se debe abusar de este tipo de variable

Todos los nombres de funciones tienen mbito de archivo

14

Вам также может понравиться