Note that it's not standard and not guaranteed to exist. Your implementation may or may not provide it. However, as it is, even if it does exist, you're trying to call some other function entirely because you've got the input parameters wrong.
char * itoa ( int value, char * str, int base );
The first variable must be an int. Fine.
The second variable must be a char*. You're trying to pass it a char. A char is not a char*. You must pass it a char*.
The third variable must be an int. Fine.
I wouldn't have thought so. That would turn, for example, the number 7 into the unprintable character known as BEL, and the number 75 into the character K. I doubt that's what you want.
This is because a char is stored as a number in a single byte, and the numbers are mapped to letters as shown in this table: http://www.asciitable.com/
If you do this, remember that if aa is more than one digit long (i.e. greater than nine), you're asking for trouble. Again, see http://www.asciitable.com/ to work out how this works.