Advertisement
fenix15100

Pase por referencia de un vector

Feb 9th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.19 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3.  
  4.  
  5.  //Pasar un vector a una funcion y llenarlo.
  6.  //Para ello hay que pasar el vector por referencia y no por valor
  7.  //como hemos hecho hasta ahora
  8.  
  9.  void llenar(int *x); //Prototipo de procedimiento que tiene como argumento la variable x que sera de tipo puntero
  10.  
  11.  
  12.  void main(){
  13.    
  14.    
  15.     int vector[20],i=0;
  16.    
  17.     //Le pasamos a la funcion la direccion de memoria (referencia) donde comienza la variable vector (&vector[0]) como en scanf
  18.     //Ahora si manipulamos la variable formal (x) en la funcion llenar, cambiaremos los valores de vector ya que
  19.     //no estamos manipulando una copia de la variable como hemos hecho hasta ahora (Pase por valor) si no que estamos
  20.     //escribiendo sobre la direccion de memoria donde se encuentra fisicamente vector.
  21.      llenar(&vector[0]);
  22.    
  23.    
  24.     for(i=0;i<20;i++){
  25.         printf("%i\t",vector[i]);
  26.      } //Imprimimos el vector modificado por la funcion llenar()
  27.    
  28.    
  29.    
  30.  }
  31.  
  32.  void llenar(int *x){
  33.     int i=0;
  34.     for(i=0;i<20;i++){
  35.         x[i]=4;
  36.      } //Simplemente llenamos x con el valor 4, recordando que x=&vector
  37.        //Como escribimos directamente sobre la poscion de memoria (puntero *) no necesitamos retornar ningun valor (void).
  38.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement