>>242 これじゃだめあるか?
#include <stdio.h>
const long l_area[] = { 100, 200, 300, 400, 500};
const short s_area[] = { 1, 2 ,3, 4, 5 };

/* 構造体定義 */
typedef struct _ST_Hoge {
union {
const long *pLong;
const short *pShort;
} un_point;
} ST_Hoge;

int main()
{
int i;
ST_Hoge st;
st.un_point.pShort = &s_area[0];

for(i = 0; i < 5; i++)
printf("%d ",st.un_point.pShort[i]);
putchar('\n');

st.un_point.pLong = &l_area[0];
for(i = 0; i < 5; i++)
printf("%d ",st.un_point.pLong[i]);
putchar('\n');

return 0;
}