I'm watching a course online learning C and I stumbled upon something that is crashing my program. In the video they show the following code snippet :
#include <stdio.h>
int main()
{
    char* ch;
    int num = 12345;
    sprintf(ch, "%d", num);
    printf("%s\n", ch);
    return(0);
}
I've decided to make my own little program and test it. Here's the code I've written :
#include <stdio.h>
#define A 65
int main()
{
    int n = A;
    printf("n is equal to %d\n", n);
    n = atoi("10");
    printf("n is equal to %d\n", n);
    char* ch;
    sprintf(ch, "%d", n);
    printf("ch is equal to %s\n", ch);
    return 0;
}
When I run my program, the output is as follow :
n is equal to 65
n is equal to 10
After this part my program crashes. I assume the sprintf function is causing this but I'm not sure why, I'm new to the language so I wouldn't know, I think I've done everything correctly judging by the code snippets that was shown in the video. Could someone please explain me what I did wrong ?
Thanks in advance.
 
     
     
    