Está en la página 1de 12

Instituto Tecnologico de Pachuca

Algoritmos y Programación

Arreglos de caracteres

Equipo 6:

Brayan Manuel Ruiz Morales 20200267


Luis Rey Aldana Arteaga 20200245
Vania Vanessa Sevilla Uribe 20200268
Marco Azua Gonzales 20200246
Eduardo Noguez Cheverria 20200264
¿Qué es un arreglo?
Los arreglos son estructuras de datos consistentes en un conjunto de datos del mismo tipo. Los arreglos
tienen un tamaño que es la cantidad de objetos del mismo tipo que pueden almacenar. Los arreglos son
entidades estáticas debido a que se declaran de un cierto tamaño y conservan ´este todo a lo largo de la
ejecución del programa en el cual fue declarado.

Un arreglo consta de posiciones de memoria contiguas. La dirección más baja corresponde al primer
elemento y la más alta al ´ultimo. Para acceder a un elemento en particular se utiliza un índice. En C,
todos los arreglos usan cero como índice para el primer elemento y si el tamaño es n, el índice del último
elemento es n-1.
Ejemplo de declaración:

int arreglo1[30]

declara que arreglo1 es un arreglo que puede contener 30 enteros.

#define TAMANIO 100

int arreglo2[TAMANIO]

declara que arreglo2 es un arreglo que puede contener TAMANIO enteros.


Un arreglo consta de posiciones de memoria contiguas. La dirección más baja corresponde al
primer elemento y la más alta al ´ultimo. Para acceder a un elemento en particular se utiliza
un índice. En C, todos los arreglos usan cero como índice para el primer elemento y si el
tamaño es n, el índice del último elemento es n-1.
Características
Características de un arreglo: Un arreglo se caracteriza por los siguientes puntos:
• Almacena cada valor en memoria contigua
• Se accede a cada elemento del arreglo mediante el subíndice. Por ejemplo, si queremos acceder
a la casilla 4 seria: Arreglo[4].
• Un arreglo tiene un solo nombre y si queremos acceder a todo el arreglo será mediante el
nombre del arreglo, si solo queremos acceder a un valor seria mediante el subíndice del
arreglo.
• Tiene un número finito n de datos que son del mismo tipo.
Tipos de arreglos:
• Unidimensionales o vectores
• Bidimensionales o matrices
• Multidimensionales
Arreglo de caracteres

Un arreglo de caracteres puede ser inicializado utilizando una cadena, por


ejemplo, la siguiente declaración:

char string1[] = ”primero”;

inicializa los elementos del arreglo string1 con las letras de la palabra primero.
El tamaño del arreglo queda determinado por la cantidad de letras de
primero.
Arreglo de caracteres

Es importante notar que la cadena “primero contiene 7 caracteres más un


carácter especial que indica la terminación de la cadena que es el ’\0’ o
carácter
nulo. Entonces primero realmente consta de 8 caracteres y este es el tamaño
del
array string1.
La declaración anterior es equivalente a :

char string1 [] = {’p’, ’r’, ’i’, ’m’, ’e’, ’r’, ’o’, ’\0’}

Dado que una cadena es un arreglo de caracteres podemos tener acceso a


los caracteres individuales de una cadena utilizando la notación de nombre de
arreglos con subíndices.
Cadena de caracteres
● Una cadena de caracteres es un tipo de dato que es compuesto por un conjunto de
caracteres como símbolos, letras, números, etc. Es exactamente lo mismo que un
arreglo unidimensional, sin embargo, se maneja y tiene propósitos distintos. Mientras
que un arreglo está hecho para examinar el valor de cada casilla, una cadena de
caracteres está hecha para manejarse como un solo valor completo. Por ejemplo, una
cadena de caracteres podría ser utilizado para guardar la calle de una dirección, en ese
caso solo queremos saber el valor de la calle, y no analizar cada elemento que compone
la cadena como lo haríamos en un arreglo. Para declarar una cadena de caracteres es
igual que un arreglo unidimensional:

● Código:

char Nombre[Numero]= “Datos a guardar”; //Declarando arreglo tipo Char


(caracteres)
Igualmente usamos sizeof para calcular el
tamaño, como lo vimos hace algún
tiempo.

Para la longitud de un arreglo de cadenas


nada cambia, así se calcula:

int longitudDelArreglo = sizeof(arreglo) /


sizeof(arreglo[0]);
Calcular el tamaño

Un programa que imprime su longitud y


que nos sirve de ejemplo es este:
Podemos imprimir y leer una cadena con el
especificador de conversi´on ” %s”.

Los enunciados

printf(” %s”,”Hola”);

printf(” %s”,string1);

imprimiran Hola y primero. El enunciado:


Lectura e impresión
char string2[20];
de cadenas
scanf(” %s”, string2);
lee una cadena del teclado y la coloca en
string2. Notar que el nombre del arreglo se
pasa a scanf sin colocar el & que en otros
casos se usa. El & es utilizado por lo regular
para darle a scanf la localización de una
variable en la memoria. Como el nombre de
un arreglo es la dirección de inicio del
arreglo el & no es necesario.

Es responsabilidad del programador asegurarse que el


arreglo al cual se lee la cadena sea capaz de contener
cualquier cadena que el usuario escriba en el teclado.
La funci´on scanf lee caracteres del teclado hasta
encontrarse con el primer caracter de espacio en
blanco. Se almacenar´a la cadena ingresada y el
caracter nulo.

printf imprime hasta que encuentra el caracter nulo.


Si leemos una cadena con getchar(), es nuestra
responsabilidad colocar el ’\0’ al final del arreglo.
/* leo cadena con getchar() */

main ()

char ca[15];

int i=0;

while ((ca[i]=getchar())!=EOF) i++ ; Ejemplo


ca[i]=’\0’;

}
Bibliografía
• Aprende a programar. (13 de Noviembre de 2020). Aprenderaprogramar.com. Obtenido de
APR:
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=90
3:cadenas-de-texto-en-c-strings-arrays-o-arreglos-de-caracteres-ejemplos-ejercicios-
resueltos-cu00514f&catid=82&Itemid=210
• Fing. (13 de Noviembre de 2020). www.fing.edu.uy. Obtenido de Fing:
https://www.fing.edu.uy/tecnoinf/mvd/cursos/prinprog/material/teo/prinprog-
teorico07.pdf
• parzibyte . (8 de Noviembre de 2018). parzibyte.me. Obtenido de parzibyte's blog:
https://parzibyte.me/blog/2018/11/08/arreglos-de-cadenas-en-
c/#Calcular_tamano_de_arreglo_de_cadenas_en_C
• Solución ingenieril. (13 de Noviembre de 2020). solucioningenieril. Obtenido de Solución
ingenieril:
http://solucioningenieril.com/programacion_en_c/arreglos_arrays_y_cadenas_de_caracter
es

También podría gustarte