Arrays, arreglos, cadenas o vectores en C - Ejemplos y uso

Los arrays son variables estructuradas como cadena de caracteres, donde cada elemento se almacena de forma consecutiva en un número de notaciones.

Arrays, arreglos, cadenas o vectores en C - Ejemplos y uso | Aprender Programación en C | Los arrays son variables estructuradas como cadena de caracteres, donde cada elemento se almacena de forma
consecutiva en un número de notaciones
COMPÁRTELO:

Un array es un identificador que referencia un conjunto de datos del mismo tipo. Imagina un tipo de dato int; podremos crear un conjunto de datos de ese tipo y utilizar uno u otro con sólo cambiar el índice que lo referencia. El índice será un valor entero y positivo. En C los arrays comienzan por la posición 0.

Vectores

Un vector es un array unidimensional, es decir, sólo utiliza un índice para referenciar a cada uno de los elementos. Su declaración será:

tipo nombre [tamaño];

El tipo puede ser cualquiera de los ya conocidos y el tamaño indica el número de elementos del vector ( se debe indicar entre corchetes [ ] ). En el ejemplo puedes observar que la variable i es utilizada como índice, el primer for sirve para rellenar el vector y el segundo para visualizarlo. Como ves, las posiciones van de 0 a 9 ( total 10 elementos ).

Ejemplo

	
	/* Declaración de un array. */

	#include 

	main() /* Rellenamos del 0 - 9 */
	{
		int vector[10],i;
		for (i=0;i<10;i++) vector[i]=i;
		for (i=0;i<10;i++) printf(" %d",vector[i]);
	}

Podemos inicializar (asignarle valores) un vector en el momento de declararlo. Si lo hacemos así no es necesario indicar el tamaño. Su sintaxis es:

tipo nombre []={ valor 1, valor 2...}

Ejemplos

int vector[]={1,2,3,4,5,6,7,8};
char vector[]="programador";
char vector[]={'p','r','o','g','r','a','m','a','d','o','r'};

Una particularidad con los vectores de tipo char (cadena de caracteres), es que deberemos indicar en que elemento se encuentra el fin de la cadena mediante el caracter nulo (\0). Esto no lo controla el compilador, y tendremos que ser nosotros los que insertemos este caracter al final de la cadena.

Por tanto, en un vector de 10 elementos de tipo char podremos rellenar un máximo de 9, es decir, hasta vector[8]. Si sólo rellenamos los 5 primeros, hasta vector[4], debemos asignar el caracter nulo a vector[5]. Es muy sencillo: vector[5]='\0';

Ahora veremos un ejemplo de como se rellena un vector de tipo char.

Ejemplo


	/* Vector de tipo char. */

	#include 

	main() /* Rellenamos un vector char */
	{
		char cadena[20];
		int i;
		for (i=0;i<19 && cadena[i-1]!=13;i++)
			cadena[i]=getche( );
		if (i==19) cadena[i]='\0';
		else cadena[i-1]='\0';
		printf("\n%s",cadena);
	}

Podemos ver que en el for se encuentran dos condiciones:

  1. Que no se hayan rellenado todos los elementos (i<19)
  2. Que el usuario no haya pulsado la tecla ENTER, cuyo código ASCII es 13. (cadena[x-i]!=13)

También podemos observar una nueva función llamada getche( ), que se encuentra en conio.h. Esta función permite la entrada de un caracter por teclado. Después se encuentra un if, que comprueba si se ha rellenado todo el vector. Si es cierto, coloca el caracter nulo en el elemento nº20 (cadena[19]). En caso contrario tenemos el else, que asigna el caracter nulo al elemento que almacenó el caracter ENTER.

En resumen

Al declarar una cadena deberemos reservar una posición más que la longitud que queremos que tenga dicha cadena

Llamadas a funciones con arrays

Como ya se comentó en el tema anterior, los arrays únicamente pueden ser enviados a una función por referencia. Para ello deberemos enviar la dirección de memoria del primer elemento del array. Por tanto, el argumento de la función deberá ser un puntero.

Ejemplo


	/* Envío de un array a una función. */

	#include 

	void visualizar(int []); /* prototipo */
	main() /* rellenamos y visualizamos */
	{
		int array[25],i;
		for (i=0;i<25;i++)
		{
			printf("Elemento nº %d",i+1);
			scanf("%d",&array[i]);
		}
		visualizar(&array[0]);
	}

	void visualizar(int array[]) /* desarrollo */
	{
		int i;
		for (i=0;i<25;i++) printf("%d",array[i]);
	}

En el ejemplo se puede apreciar la forma de enviar un array por referencia. La función se podía haber declarado de otra manera, aunque funciona exactamente igual:

declaración o prototipo
void visualizar(int *);

desarrollo de la función
void visualizar(int *array)

CITAR ARTÍCULO


Para tareas, investigaciones, tesis, libros, revistas, blogs ó artículos académicos

Referencia en Formato APA:

Delgado, Hugo. (2020).
Arrays, arreglos, cadenas o vectores en C - Ejemplos y uso.
Recuperado 23 de mayo, 2020, de
https://disenowebakus.net/arrays.php

¡Participa!

¡Compártelo con tus amigos en Redes Sociales!
Compartir en:

Profesor en la Universidad de Guadalajara

Hugo Delgado Desarrollador y Diseñador Web en Puerto Vallarta

Profesional en Desarrollo Web y Posicionamiento SEO desde hace más de 15 años continuos.
Contamos con más de 200 constancias y reconocimientos en la trayectoria Académica y Profesional, incluidos diplomados certificados por Google.

CONTINÚA APRENDIENDO

TAMBIÉN MERECE LA PENA VISITAR:

¿Todavía no encuentras lo que necesitas?

Usa nuestro buscador interno para descubrir más información
Contenido patrocinado:

¿Te gustaría aprender más sobre Diseño Web?

Conoce todos los cursos y tutoriales que tenemos para ti completamente gratis
Aprender Diseño Web
 

Deja tu Comentario