(1)
#include <stdio.h>
int main()
{
int arr[]={1,2,3,4,5};
int i=0;
short* p=(short*)arr; // 把地址arr[0]强制转化成short*型
for(i=0;i<4;i++)
{
*(p+1)=0;
}
for(i=0;i<5;i++)
printf("%d ",arr[i]);
return 0;
}
输出结果0 0 3 4 5
注意 : short*型指针+1为移两个字节,而存放的整形数组每个元素占四个字节 ,所以p移动四次,改2*4=8个字节的内容,正好是整形数组前两个元素变成0 0;所以输出0 0 3 4 5