Labdabeta 182 Posting Pro in Training Featured Poster

I want to find a range of values that a valid pointer cannot achieve, but can store. Basically this is my situation:

 typedef struct myNumberTAG
 {
     //stuff
 }*myNumberHANDLE;

 //A bunch of functions that work with myNumberHANDLEs:
 ///Not Shown
 //Some constants
 const myNumberHANDLE numberOne=0x1;
 const myNumberHANDLE numberTwo=0x2;
 const myNumberHANDLE numberInfinity=0x3;
 const myNumberHANDLE numberUndefined=0x4;
 const myNumberHANDLE notAnumber=0x5;

My question is will this work? And if so, what range of values would be viable?