Don't be afraid, I am from the Internet, ma'am! ;-)
Shouldn't that raise a grave fear instead?

.
I do believe you need to typecast the newly allocated memory block pointer to your desired structure. It's required in C, not sure if the Lite-C compiler complains about it.
ms = (mystruct*)malloc(sizeof(mystruct)); // allocate memory.
...
a = (int)malloc(sizeof(int) * 23);