Found an interesting use of a typedef that I really didn't see the need for.

```
typedef int Color[3];

```

So then the use would be:

```
Color pants;
pants[0] = 0;
etc.

```

Using the typedef through ptrs was creating strange looking code that wasn't clear.

Why not just use a struct?

```
struct Color {
int r;
int g;
int b;
};

Color pants;
pants.r = 0;
etc.

```

You could use a union to express the vars as an array or individually, which is wonky, but still clear that it is somehow more complex than a single value.

Can someone offer insight as to the merit of using the typedef'd array vs. struct?