I'm trying to get my head around what your current understanding is
signed char x = '100';
This line of code is taking the character '100' which doesn't exist, typically characters are one symbol long such as 'a' and '9'. Unless they are special non printable sequences such as null '\0' or newline '\n', or even escaped characters such as single quote'\''
C style string are represented by double quotations and have one hidden byte at the end that hold a null terminator, the double quote notation deals with the null for you.
if your looking to convert the string "100" to a double then the following will work
double a;
char b [4] = "100";
a = atof(b);