Why my ** character is not updated globally when I update it in a function

int doSomething (char ** result) {

* result = "455"

returns 0;
}


int main () {

char * result = "0";
do something (& result);

printf ("The value is% d  n", atoi (((because *) result));

returns 0;
}

Now it displays 0 instead of printing 455 because the result should now read 455.

Why does this happen and how can I solve the problem?