I haven't used struct's before, but shouldn't it be used like this:

value->digit[t] = temp[i] - '0';

Since there is no digit variable, it is part of the struct you created?