请问:结构体转换成字符串的有关问题

请教:结构体转换成字符串的问题?
typedef struct 
{
unsigned char MsgType;
unsigned int HostID;
unsigned char IsWriteDB;
float Temperature;
} TempPacket;
上面是我定义的一个结构体,我想把结构体变量转换成字符串,再通过串口发送出去。下面是我想法:

unsigned char *temp=(char *)TemPacket;

请问这样做可以吗?


------解决方案--------------------
typedef struct  
{
unsigned char MsgType;
unsigned int HostID;
unsigned char IsWriteDB;
float Temperature;
} TempPacket;

TempPacket pkt; /* 必须定义一个对象,才能进行相应的数据传送或处理 */
unsigned char * ppkt = (unsigned char *)&pkt; /* 可以把它的地址传给一个char *指针 */
/* 不过发送的时候不应使用字符串方式,而应当是二进制包 */