You can identify the path the the controlling terminal device path for your current process in C with the ttyname() system call. This controlling terminal can be a virtual console (/dev/ttyn) or a pseudo-terminal (/dev/pts/n).
The ttyname system call takes the following format.
char *ttyname(int fd);
The stdin, stdout, stderr file descriptors unless redirected are by default mapped to the controlling terminal. So for example you can pass it the stdin file descriptor.
char * pathname; pathname = ttyname(0); printf("controlling terminal : %s\n", pathname);
controlling terminal : /dev/pts/0