passing a structure pointer by value
hello all,
well I am getting really frustrated with something. I read on a post here that passing by value is supported in C, and that bassing by referance is only supported by C++. I am programming an program with a .CPP extension, but my application is using the C standard library and what I would consider at least 95% of C style code (I've yet to learn alot of C++).
anyways I also read here that passing structures by value can be beneficial over passing by reference with larger structures. I am just wondering how I can get the contents of the structure in my function. I keep trying different ways, and I keep getting errors. anyways here is what my code looks like:
Code:
typedef struct s {
int i;
char a;
} S, *PS;
void somefunc(PS);
int main(void)
{
S var;
PS pvar = &var;
pvar->i = 10;
pvar->a = 'b';
somefunc(pvar);
return 0;
}
void somefunc(PS ps)
{
/* now, I would like to declare a local variable of s, but I don't
know if I should use the S or PS type. I am assuming I should
use a referance to assign the local variable the contents of ps,
but I am also having problems with this. */
}
my structure is larger than that, that is just an example (if it was that small, I wouldn't bother passing by pointer). as you can see I am totally unsure of things locally in somefunc(), and like I said I have tried just about every possible way I can think of and keep getting errors. if someone could please show me how things should look in somefunc(), it would be GREATLY appreciated.
thank you very much in advance! :)