前面初始化时,定义的arr为整型数组的起始地址,所以它指向的是整型数字1,第二行定义的short型地址p被赋值为数组的起始地址,而两个变量的数据类型不同,就通过强制数据类型转换将arr转换为short型地址。
int arr[] ,数组名即为数组的首地址,也可看作是指向数组首地址的指针:(int *)arr.(short*)arr ,将 arr 强制类型转换为 (short*)arr 短整形指针。
short是短整数,一般占两字节,*是指针