Ashok, I assume you are using rectangular coordinates, this is $\displaystyle V_1 = (x_1,y_1) $ and $\displaystyle V_2 = (x_2,y_2) $ it doesn't really matter that they are complex numbers. Remember dot product $\displaystyle V_1*V_2 = |V_1||V_2|cos(\theta)$ where $\displaystyle \theta $ is the smallest angle between them, so it is always true that $\displaystyle |\theta| <pi $.

So you can use $\displaystyle \theta = \arccos(\frac{V_1*V_2}{|V_1||V_2|}) $. You still need to find the dot product, that is just $\displaystyle x_1*x_2 +y_1*y_2$ and the length of the vectors, that is

$\displaystyle |V_i |= \sqrt{x_i^2+y_i^2}$ so I'm not sure how much memory you are saving with this. And this will give you the smallest angle, that may not be what you need, I don't know.

I advice you look up some math library for c, I'm sure there is an "arg" function implemented that gives you the angles, if you don't want to use that, you can look at the code (if it is accessible) and

get a better idea. I hope that helped, regards

Damián Vallejo.

You can visit my blog if you want, it is

Math 911 I expose some math topics there.