必要なデータ型として

・空を表すNIL
・論理True/False
・文字列
・整数&実数

を仮定して、

typedef struct{
charname[14];
chartype;// Variable Type ('N'/'T'/'F'/'S'/'I'/'D')
char*str;
doubleval;
}varialbe;

のような構造を1つの変数としてもつのはいかがでしょう?

これなら、例えば
a=1.0
としたあとで、
a="Error!!"
としても、とりあえず対応出来るように思えます。