Write a function in C that gets passed a pointer to a null-terminated string containing an arithmetic expression such as "3*(4+5)-1" and returns the correct value. It must be able to handle +,-,*,/, and parenthesis. No implied multiplication, no negative numbers, usual order of operations, and the passed string is guaranteed to have matched parenthesis and proper syntax.