/* * Program to pass and return pointers arguments */ #include #include using namespace std; double *func(double *ptr); int main() { // Pointers are variables and can be passed and returned to other functions // as arguments/return-values double *dp, *dp2; dp = new double; *dp = 10.5; dp2 = func(dp); printf("dp2 -- Address: %u, Value: %lf\n", dp2, *dp2); delete dp; delete(dp2); // NEVER return a pointer to a local variable return 0; } double *func(double *ptr) { double *lp; printf("dp -- Address: %u, Value: %lf\n", ptr, *ptr); lp = new double; *lp = 20.2; return lp; }