怎么将char[]数组中的数据放进shor int[]的数组中

如何将char[]数组中的数据放进shor int[]的数组中
如题,用一个函数pcap_next_ex循环的接收数据,数据放在一个u_char *pkt_data的指针指向的一片空间里。注:u_char为无符号字符型,数据是二进制的。然而我使用数据是以shor int的形式使用,也就是两个字节的用,所以我创建了一个shor int[...]数组,那么我怎么把pkt_data中的数据放进shor int[]中并且不丢失数据呢???     
最后说明一下,u_char *pkt_data是pcap_next_ex()函数的一个固定参数。
------解决方案--------------------
short int s[MAXBYTES];
int bytes;
bytes=100;
for (int i=0;i<bytes;i++) s[i]=(short int)pkt_data[i]);

------解决方案--------------------
照lz后来补充的意思,
不考虑大小端不同的话4楼ok啊
或者
for (int i=0;i<bytes;i++) s[i]=(short int)pkt_data[i]); 
改成
for (int i=0;i<bytes;i+=2) s[i/2]=(short int)pkt_data[i]); 
------解决方案--------------------
直接memcpy进入short int的数组中就可以,如果不是网络接收的数据的话,可以直接拷贝过去的