#include<stdio.h>
#include<stdlib.h>
/* Procedimento */
void altera( int vet[ ] , int x)
{
vet[ 0 ] = - 55 ;
x = - 2 ;
}
/* Funcao principal */
int main( void )
{
/* Declaracao de Variaveis e atribuicao de valores */
int vet[ ] = { 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
int x = 0 ;
printf ( "===========================================\n " ) ; printf ( " Passagem por referencia x por valor \n " ) ; printf ( "===========================================\n " ) ;
printf ( "Antes de chamar funcao \" altera\" :\n " ) ; printf ( "vet[0] = %d\n " , vet
[ 0 ] ) ;
altera( vet, x) ;
printf ( "Depois de chamar funcao \" altera\" :\n " ) ; printf ( "vet[0] = %d\n " , vet
[ 0 ] ) ;
/* Pausa na execucao do programa */
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgoKLyogUHJvY2VkaW1lbnRvICovCnZvaWQgYWx0ZXJhKGludCB2ZXRbXSwgaW50IHgpIAp7Cgl2ZXRbMF0gPSAtNTU7Cgl4ICAgICAgPSAtMjsKfQoKCi8qIEZ1bmNhbyBwcmluY2lwYWwgKi8KaW50IG1haW4odm9pZCkKewoJLyogRGVjbGFyYWNhbyBkZSBWYXJpYXZlaXMgZSBhdHJpYnVpY2FvIGRlIHZhbG9yZXMgICovCglpbnQgdmV0W10gPSB7MywgNCwgNSwgNiwgNywgOCwgOX07CglpbnQgeCA9IDA7CgoJcHJpbnRmKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsKCXByaW50ZigiIFBhc3NhZ2VtIHBvciByZWZlcmVuY2lhIHggcG9yIHZhbG9yICAgICAgIFxuIik7CglwcmludGYoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOwoJcHJpbnRmKCJcbiIpOwoKCglwcmludGYoIkFudGVzIGRlIGNoYW1hciBmdW5jYW8gXCJhbHRlcmFcIjpcbiIpOwoJcHJpbnRmKCJ2ZXRbMF0gPSAlZFxuIiwgdmV0WzBdKTsKCXByaW50ZigieCAgICAgID0gJWRcbiIsIHgpOwoJcHJpbnRmKCJcbiIpOwoKCWFsdGVyYSh2ZXQsIHgpOwoKCXByaW50ZigiRGVwb2lzIGRlIGNoYW1hciBmdW5jYW8gXCJhbHRlcmFcIjpcbiIpOwoJcHJpbnRmKCJ2ZXRbMF0gPSAlZFxuIiwgdmV0WzBdKTsKCXByaW50ZigieCAgICAgID0gJWQiLCB4KTsKCgkvKiBQYXVzYSBuYSBleGVjdWNhbyBkbyBwcm9ncmFtYSAqLwoJcHJpbnRmKCJcblxuIik7CglnZXRjaGFyKCk7CgoJcmV0dXJuIDA7Cn0K