sistema ("cd <path>") en un programa en C


Estoy tratando de usar la función system () en un programa en C.
Por ejemplo, intenté crear un directorio en mi escritorio, usando la función system ().
Mi código:

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

int main(void)
{
   system("cd c:\\Users\\USER\\Desktop");
   system("mkdir test");
   return 0;
}

Cuando ejecuto este código, se crea un directorio, pero no en mi escritorio. Se crea en mi directorio de proyectos.
¿Por qué sucede esto?
¿Puedo usar el comando cd en la función system ()? Si no, ¿hay un reemplazo para el comando cd que funcionará con system ()?

Estoy usando el sistema operativo Windows. Estoy tratando de usar system () de un programa C como uso el programa cmd.
Sé que puedo crear el directorio usando WinAPI sin ningún problema. No quiero usar WinAPI, mi pregunta es cómo puedo hacer que funcione usando system ().

Respuestas a la pregunta(3)

Su respuesta a la pregunta