Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Arreglos
x es el nombre del arreglo 0 es el primer índice (que indica la posición que ocupa el
elemento dentro del arreglo)
3.2.1 Declaración de un arreglo unidimensional
Para definir un arreglo de una dimensión se utiliza el siguiente formato.
Formato:
Por la clave:
auto: son locales a la función o bloque.
extern: para arreglos definidos fuera de la función
static: su valor se mantiene o conserva, si se modifica el arreglo en una función y se
vuelve a llamar la función , el arreglo mantiene según sus últimas modificaciones..
tipo_dato=el tipo de dato para los elementos del arreglo, puede ser float, char,
etc.
Inicialización
Por asignación
Por lectura
#include <stdio.h>
main( )
{
z[0] 5
z[1] 6
z[2] 7
z[3] 9
#define n 4
#include <stdio.h>
main( ) Se necesita cargar el vector con
{ int x[5]; diferentes valores para sus elementos
int i;
for (i=0; i<5; i++)
{ printf (“Entre un elemento”);
scanf (“%i”, &x[i]);
}
2 4 500 7 67
int x[4];
int i;
.
.
.
for (i=0; i<=3; i++)
{ printf (“\nEntre el elemento numero %i”, i+1);
scanf (“%i”,&x[i]);
}
Para accesar un elemento de un arreglo de una dimensión se utiliza el siguiente formato.
Formato:
nombre_arreglo [índice]
Ejemplo:
if (x[i] == 576)
________________ ;
________________ ;
Ejemplo:
int x [ 4 ]; El compilador asigna la dirección inicial donde se almacenará el
arreglo
El nombre de un arreglo se puede usar como argumento de una función, permitiendo así
que el arreglo completo sea pasado a la función. Los argumentos pasados de ésta
manera se dice que son pasados por referencia en vez de por valor.
Un sólo elemento del arreglo al pasarlo a una función, pasará por valor.
Al utilizar la función return para retornar un elemento, lo que regresa por valor.
Paso por valor es cuando pasamos una variable a una función y si se realizan cambios
en ella, al regresar al punto después del llamado, el valor de la misma se mantiene con
el valor original.
#include <stdio.h>
#include <conio.h>
main( )
{
int a;
float tab[100]; //definición del arreglo de una dimensión
float v;
float proceso (int af, float tabf[ ], float elemento ) //definición de la función
{ float x[8];
Parámetros formales o receptores (los nombres de los parámetros formales
return (x[2]); pueden ser iguales a los nombres de los parámetros actuales)
} af es una variable que recibe el valor de la variable a
tabf es el nombre de un arreglo que recibe la dirección de memoria
del arreglo tab
elemento es una variable que recibe el valor del elemento tab[2]
Para recordar, una función puede retornar un valor o nada.
En caso que se necesite retornar un arreglo, se debe especificar es el nombre del arreglo.
Entonces lo que se retorna es la dirección de memoria. Pero hay que tener presente es
que la declaración de variables local a una función son liberadas una vez se retorne. Y si
se declaró un arreglo local a la función cuando se retorne el espacio que ocupa el arreglo
es liberado. Para no perder los valores almacenados se puede utilizar la palabra
reservada static para el tipo de almacenamiento.
Ejemplo:
char * proceso ( )
{ static float w[ 5 ];
. . .
return w;
}