nagaharikola
asked on
return Multiple value
How can we return multiple values using pointers
Depends what you mean by "multiple values". Some clarification of what you are trying to achieve would help.
ASKER
how to return multiple values from a function
as u know we can do this with structures and pointers.
i know about returning structures but i don't know how to return multiple values with pointers
as u know we can do this with structures and pointers.
i know about returning structures but i don't know how to return multiple values with pointers
ASKER
please give code snippet . i am a beginner
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
yes
So, that's your answer then :)
ASKER
with out pointer to a structure can we return multiple values.
>>with out pointer to a structure can we return multiple values.
Yes. But you need to pass those many pointers as per your requirements as parameters to the function.
But it's better to use pointer to structure by which you need to pass only one(or less no. of) pointers to structure.
Yes. But you need to pass those many pointers as per your requirements as parameters to the function.
But it's better to use pointer to structure by which you need to pass only one(or less no. of) pointers to structure.
suppose you need a function to return sum,difference,multiplicat ion and division of two numbers, then
your function prototype will look as follows.
void sum_diff_mul_div(int a, int b, int* sum, int* diff, int* mul, int* div);
or
struct result{
int sum,
int diff,
int mul,
int div};
void sum_diff_mul_div(int a, int b, struct result* res);
Now you decide between two versions which one is better?
your function prototype will look as follows.
void sum_diff_mul_div(int a, int b, int* sum, int* diff, int* mul, int* div);
or
struct result{
int sum,
int diff,
int mul,
int div};
void sum_diff_mul_div(int a, int b, struct result* res);
Now you decide between two versions which one is better?
Integer pointers are declared as int * value.
You will have to construct a function which takes your normal parameters, as well as return pointer parameters as input.
As you calculate your return values inside the function, you assign the value to the pointers from the function parameters to return them to the caller. The caller must allocate their data and pass pointers into your function in addition to any normal parameters needed.
Forgive me for not spelling it out, but the question sounds a bit academic in nature.