cannot convert from 'int' to 'string' [Api]

#include <stdio.h>
#include <stdlib.h>

int main() {
    int num = 42; // Step 1: Declare an integer variable 'num' and assign the value 42 to it.

    // Step 2: Use the 'itoa' function to convert the integer 'num' to a string.
    // The 'itoa' function is not standard in C, so we use a helper function 'intToString'.
    char* strNum = intToString(num);

    // Step 3: Print the converted string.
    printf("Converted String: %s\n", strNum);

    // Step 4: Free the memory allocated for the string.
    free(strNum);

    return 0;
}

// Step 5: Implement the 'intToString' function to convert an integer to a string.
char* intToString(int num) {
    // Step 6: Determine the number of digits in the integer.
    int numDigits = snprintf(NULL, 0, "%d", num);

    // Step 7: Allocate memory for the string, including space for null terminator.
    char str = (char)malloc(numDigits + 1);

    // Step 8: Use 'snprintf' to convert the integer to a string and store it in 'str'.
    snprintf(str, numDigits + 1, "%d", num);

    return str;
}