佚名通过本文主要向大家介绍了电流表指针偏转问题,鼠标指针出问题,鼠标指针问题,指针问题,鼠标指针有问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 指针的强制转换问题
描述:
讨论下Test1和Test2的问题。
是否存在内存一致性的问题,Test1如果不访问pTime->sec应该就不会出现越界访问的问题
Test2也类似。。。。
求科普下
解决方案1:
描述:
内存指针强制类型转换c
typedef struct{
u8 hour;
u8 min;
u8 sec;
}sTime;
void Test1(void)
{
u8 Tab[2] = {10,20};
sTime *pTime = (sTime *)&Tab[0];
printf("hour = %d,min = %d",pTime->hour,pTime->min);
}
void Test2(void)
{
u8 Tab[4] = {10,20,30,40};
sTime *pTime = (sTime *)&Tab[0];
printf("hour = %d,min = %d,sec = %d",pTime->hour,pTime->min,pTime->sec);
}
讨论下Test1和Test2的问题。
是否存在内存一致性的问题,Test1如果不访问pTime->sec应该就不会出现越界访问的问题
Test2也类似。。。。
求科普下

解决方案1:
不访问就不会编译链接就分配了地址了。
解决方案2: 不会,软件仿真一下就知道了
比较低端的想KEIL C可能连警告都不会给
VS下可能会给个警告