Below code is just a simple sample, so I did not write to init, delete, etc.
struct _OBJ
{
double xi;
double xf;
double yi;
double yf;
int key;
};
typedef struct _OBJ* POBJ;
typedef void* pNode;
void SampleFunction(pNode node)
{
//null check
if(node == NULL)
{
//error
}
//Do Something
// ...
}; /* just a function for example*/
int main()
{
POBJ obj = new _OBJ;
SampleFunction((pNode)obj);
delete obj;
}