I'm pretty new to C++.
How would I go about making a structure that's global (I need to change members of the structure at any given moment), and send it to a function?

For fun let's say I have a struct gun(this will be a function in my game)
----------------------------------------------
struct gun
{
int damage,reload,capacity;
char level;
}
//or something to that effect
-----------------------------------------------

Now, later in the game I have a battle funtion, and I have to send
the function and all of it's members to that function.
------------------------------------------------
//inside the void main()
//...
battle(struct gun);
//...
------------------------------------------------
Is that how I would do it? or not...

And the real kicker is, at any given moment, someone might get another gun and I'd have to reassign all of the members of the structure. So, I'll have a function getNewGun.
------------------------------------------------
getNewGun(struct &gun);
------------------------------------------------
would that be it?
and it would be a void function.
Thanks for anyone who is willing to help me out!