domingo, 3 de noviembre de 2013

declarar Arreglos con parámetros en c

Para pasar un arreglo completo como parámetro a un procedimiento a una función solo se manda el nombre del arreglo sin corchetes e índices, en el procedimiento o función que recibe solo se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin corchetes e índices.

Sin embargo es conveniente aclarar, que a diferencia de variables escalares normales, c++ no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar cpp sigue usando los datos que están en el arreglo original, es por esta razón que cambios que se le hagan a los datos del arreglo que recibe realmente se esta haciendo al arreglo original como lo muestra el siguiente ejemplo:

#include <stdio.h>

#include <conio.h>

#include <string.h>

void proc1(int vector[]);

void main() {

clrscr();

//creando arreglo y cargandolo

int lista[5]= {10,11,12,13,14};

// mandandolo a procedimiento recordar como se manda sin []

proc1(lista);

// desplegando arreglo lista y observar que datos salen

for(int reng=0; reng<=4; reng++)

printf("%d \n",lista[reng]);

getchar();

} // termina main

void proc1(int vector[])

{

// sumandole 50 a lo que se tenia en arreglo lista

// es decir vector queda cargado con 60,61,62,63,64

for(int reng=0; reng<=4; reng++)

vector[reng]=vector[reng]+ 50;

// observar que no se regresa nada

}

No hay comentarios:

Publicar un comentario