• Miércoles 6 de Noviembre de 2024, 20:40

Autor Tema:  Contador Por Referencia  (Leído 945 veces)

mnv_19

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Contador Por Referencia
« en: Jueves 26 de Abril de 2007, 21:04 »
0
Como paso un int contador por referencia en C?
Muchas gracias
"Los verdaderos programadores no hablan de su código. Fue difícil escribirlo, y aun mucho mas entenderlo."

"Los ordenadores no son inteligentes. Solo creen que lo son."

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Contador Por Referencia
« Respuesta #1 en: Jueves 26 de Abril de 2007, 22:25 »
0
si te referis a pasar una referencia a una variable como parametro en C no es posible, en cambio en C++ si lo es. Lo que podes hacer en C es usar punteros.

mnv_19

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Contador Por Referencia
« Respuesta #2 en: Jueves 26 de Abril de 2007, 22:31 »
0
Me referia a eso, a pasarlo como puntero.Gracias.
"Los verdaderos programadores no hablan de su código. Fue difícil escribirlo, y aun mucho mas entenderlo."

"Los ordenadores no son inteligentes. Solo creen que lo son."

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Contador Por Referencia
« Respuesta #3 en: Jueves 26 de Abril de 2007, 23:05 »
0
Este es un ejemplo en C++, pero en C es lo mismo, solo que en lugar de usar cout son printf.
Código: Text
  1. #include <iostream.h>
  2.  
  3. void funcion(int *q);
  4.  
  5. int main() {
  6.    int a;
  7.    int *p;
  8.  
  9.    a = 100;
  10.    p = &a;
  11.    // Llamamos a funcion con un puntero funcion(p);
  12.    cout << "Variable a: " << a << endl;
  13.    cout << "Variable *p: " << *p << endl;
  14.    // Llamada a funcion con la dirección de "a" (constante)
  15.    funcion(&a);
  16.    cout << "Variable a: " << a << endl;
  17.    cout << "Variable *p: " << *p << endl;
  18.    return 0;
  19. }
  20.  
  21. void funcion(int *q) {
  22.    // Cambiamos el valor de la variable apuntada por
  23.    // el puntero
  24.    *q += 50;
  25.    q++;
  26. }
  27.