Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porElena Espinoza Santos Modificado hace 8 años
1
Tipo de dato char El tipo de dato char ocupa un byte de memoria. Con un byte solo se puden guardar 256 números enteros sin signo, del 0 – 255. Si a cada uno de estos números se le asocia los caracteres que aparecen abajo, se tiene la tabla ASCII. Tabla ASCII Entonces, a una variable de tipo char puede asignársele un número entero así: char i = 65; // contiene el carácter A O así: char j = ‘A’ // contiene el código ASCII 65 Oigan… en realidad la computadora únicamente sabe de números, los caracteres solo son para nosotros
2
Las cadenas de caracteres, o simplemente cadenas, son arreglos de tipo char que culminan con el carácter que tiene código ASCII 0, es decir, el carácter nulo, o primero de la tabla ASCII. La siguiente declaración forma una cadena: char nombre[6] ={‘P’, ’e’, ’d’, ’r’, ’o’, 0}; Se podría haber hecho lo siguiente, pero cuesta trabajo entenderlo char nombre[6] ={ 80, 101, 100, 114, 111, 0 }; El lenguaje permite declarar una cadena también como sigue, que es mucho mas fácil: char nombre[] = “Pedro”; // el compilador pone el nulo por ti En la memoria aparece así: Cadenas de caracteres Elementoa[0]a[1]a[2] a[3]a[4]a[5]a[6]a[7]a[8]a[9] Valores80101100114111 0 --- Hacer esto es un error: char nombre[5] = “Pedro”;
3
int main() { char Nombre[10]; char nombre[] = “Pedro”; // Válido en la declaración //Nombre[] = “Pedro”; No es válido porque no se está declarando // Habría que hacerlo así, afuerza bruta: Nombre[0] =‘P’; Nombre[1] =‘e’; Nombre[2] =‘d’; Nombre[3] =‘r’; Nombre[4] =‘o’; Nombre[5] = 0; // Escencial agregarle el nulo para formar la cadena // La forma eficiente de hacer lo anterior es emplear una de las funciones de la biblioteca estándar, así: strcpy(Nombre, “Pedro”); // copia la cadena “Pedro” a Nombre return 0; } Copia de cadenas
4
#include // Simulación de strcpy void Strcpy(char destino[], char fuentes[]); // prototipo de Strcpy int main() { char Nombre[10]; // Nombre es un simple arreglo de chars, no una cadena todavía Strcpy(Nombre, "Pedro"); // Nombre fue convertido a cadena por Strcpy. Lo llenó de caracteres incluyendo el nulo puts(Nombre); return 0; } void Strcpy(char destino[], char fuente[]) { char c; int i = 0; do { c = fuente[i]; destino[i] = c; i++; } while (c != 0); }
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.