1.强转后类型+1 物理地址+强转后的类型大小个字节
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[] = { 1,2,3,4,5 };
short* p = (short*)arr;//将arr强转为short*型,此时每+1,
//跳过两个字节,累计四个字节才是一个元素
int i = 0;
for (i = 0; i < 4; i++)//跳过四次,将数组前两个元素赋值为0
{
*(p + i) = 0;
}
for (i = 0; i < 5; i++)
{
printf("%d ",arr[i]);//00345
}
return 0;
}
2.内存中存储小tip
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 0x11223344;//在内存中倒着存储,显示是正着显示
char* pc = (char*)&a;//将a强转为char*
*pc = 0;//由于pc的类型是char*只能操作一个字节
//将pc前一个字节赋值为0,也就是将44赋值为了00
printf("%x\n",a);//0x11223300
return 0;
}
标签:arr,short,字节,pc,int,char,面试,避坑题,指针
From: https://blog.51cto.com/u_16425777/9042293