Pass structs to functions like any variable. Write the struct type as parameter type, then access members inside. The function can read or modify depending on how you pass. Example: void print(Point p) { cout << p.x << ", " << p.y; }.
Takes a Point and prints coordinates. Call with print(myPoint);. The entire struct goes as one package. This beats passing individual members. Instead of void print(int x, int y), you pass the whole struct.
Cleaner signatures, fewer parameters, less chance of order mistakes.