Hello,

Code:
#include <stdio.h>
#include <stdlib.h>

void inc(float*);
void inc2(float*);
void doub(float&);

void inc(float* j)
{
    (*j)++;
}

void inc2(float* k)
{
    (*k) += 1.5768;
    printf("%2.4f\n", *k);
}

void doub(float& z)
{
    z = z + z;
    printf("%2.3f\n", z);
}

int main()
{
    float i = 20;
    float *p = &i;
    float x = 20;

    inc(p); //C & C++
    printf("%2.3f\n", i);
    inc2(p); //C & C++
    printf("\n");

    doub(x); //C++ not C
    printf("%2.3f\n", x);
    return 0;    
}
Code:
Output :-
21.000
22.5768

40.000
40.000
Both methods work, but generally which is better to use, passing by *(pointer) or &(address)?

Regards