- Arreglos
Los arreglos son una colección de variables del mismo tipo que se referencían utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua. La dirección más baja corresponde al primer elemento y la más alta al último. Un arreglo puede tener una o varias dimensiones. Para acceder a un elemento en particular de un arreglo se usa un índice.El formato para declarar un arreglo unidimensional es:
tipo nombre_arreglo [tamaño];
int miarreglo[10];
En C, todos los arreglos usan cero como índice para el primer elemento. Para acceder al primer elemento utilizaríamos miarreglo[0], el segundo; mi arreglo[1] ... y así sucesivamente
Lo más común para recorrer un arreglo es utilizando un ciclo for, por ejemplo si queremos llenar un arreglo con números:
for(int i = 0; i < 10; i++)
{
miarreglo[i] = i+1;
}
Esto llenaría el arreglo con los números del 1 al 10.
- Cadenas
A diferencia de otros lenguajes de programación que emplean un tipo denominado cadena (string) para manipular un conjunto de símbolos, en C, se debe simular mediante un arreglo de caracteres, en donde la terminación de la cadena se debe indicar como nulo ('\0').
El formato para declarar una cadena es:
char nombre_cadena [tamaño];
//Estas dos formas son ejemplos para inicializar la cadena
char nombre_cadena [tamaño] = "cadena";
char nombre_cadena [tamaño] = { "cadena" };
El lenguaje C automáticamente asigna el caracter nulo al final de la cadena, pero es importante tenerlo en cuenta al indicar el tamaño de la cadena.
char cadena[5] = "hola";
//que sería equivalente a:
char cadena[5] = { 'h', 'o', 'l', 'a', '\0'};
- Matrices
El formato para declarar una matriz es:
tipo nombre_matriz [nFilas][nColumnas];
En C se permite la inicialización de arreglos como los siguientes:
int matriz[3][4] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
matriz[2][0] = 100;
Para recorrer una matriz se utilizan dos ciclos for (uno anidado dentro de otro). El primer for sería para recorrer la filas y el segundo para las columnas.
Ejemplos
- Vectores
int mi_arreglo[] = { 1, 23, 17, 4, -5, 100};
int main()
{
int i;
for( i = 0; i < 6; i++)
{
printf("mi_arreglo[%d] = %d ", i, mi_arreglo[i]);
}
return 0;
}
Matrices #include <stdio.h>
#define RENGLONES 5
#define COLUMNAS 10
int multi[RENGLONES][COLUMNAS];
int main(void)
{
int renglon, columna;
for (renglon = 0; renglon < RENGLONES; renglon++)
{
for (columna = 0; columna < COLUMNAS; columna++)
{
multi[renglon][columna] = renglon*columna;
}
}
for (renglon = 0; renglon < RENGLONES; renglon++)
{
for (columna = 0; columna < COLUMNAS; columna++)
{
printf("\n%d ",multi[renglon][columna]);
printf("%d ",*(*(multi + renglon) + columna));
}
}
return 0;
}
Cadenas#include <stdio.h>
/*Este programa copiará caracter por caracter la cadena strA a la cadenaB
char strA[80] = "Cadena a usar para el programa de ejemplo";
char strB[80];
int main(void)
{
int i=0;
puts(strA);
putchar('\n');
while(i <= 80)
{
strB[i] = strA[i];
i++;
}
printf("La cadena inicial es: %s", strA);
printf("La cadena copiada es: %s", strB);
}
#include <stdio.h>
int mi_arreglo[] = { 1, 23, 17, 4, -5, 100};
int main()
{
int i;
for( i = 0; i < 6; i++)
{
printf("mi_arreglo[%d] = %d ", i, mi_arreglo[i]);
}
return 0;
}
- Matrices
#include <stdio.h>
#define RENGLONES 5
#define COLUMNAS 10
int multi[RENGLONES][COLUMNAS];
int main(void)
{
int renglon, columna;
for (renglon = 0; renglon < RENGLONES; renglon++)
{
for (columna = 0; columna < COLUMNAS; columna++)
{
multi[renglon][columna] = renglon*columna;
}
}
for (renglon = 0; renglon < RENGLONES; renglon++)
{
for (columna = 0; columna < COLUMNAS; columna++)
{
printf("\n%d ",multi[renglon][columna]);
printf("%d ",*(*(multi + renglon) + columna));
}
}
return 0;
}
- Cadenas
#include <stdio.h>
/*Este programa copiará caracter por caracter la cadena strA a la cadenaB
char strA[80] = "Cadena a usar para el programa de ejemplo";
char strB[80];
int main(void)
{
int i=0;
puts(strA);
putchar('\n');
while(i <= 80)
{
strB[i] = strA[i];
i
}
}
No hay comentarios:
Publicar un comentario