In C, if a struct has multiple elements and you want to use only some of those elements in a function, is it better to pass a pointer to the struct or should I pass the elements themselves? Or does it not make a difference?

If I have, for example:

```
struct Test {
    int a1, a2, a3, a4, a5, a6, a7, a8;
};

```

and a function that uses a1, a2, a3, a4, should I use

```
void f(struct Test*);

```

or

```
void f(int, int, int, int);

```