请教一个关于在IAR下指针的问题

2019-03-23 19:09发布

请教一个关于在IAR下指针的问题如下:
  int *p1,*p2,*p3;
  char temp[8];
  p1 = (int *)&temp[0];
  p2 = (int *)&temp[4];
/**调试的时候上面两句通过*/
  p3 = (int *)&temp[6];/*这一句直接卡死*/

请问朋友们这是什么情况?





此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
lcofjp
1楼-- · 2019-03-23 21:47
/ 赋值的时候不至于卡死吧,顶多字节不对齐,在使用的时候出现问题。
馨曦
2楼-- · 2019-03-23 22:18
 精彩回答 2  元偷偷看……
lcofjp
3楼-- · 2019-03-24 04:06
不知道卡死是什么情况,可以单步汇编,不可能不执行指令了吧。
馨曦
4楼-- · 2019-03-24 06:25
int *p1,*p2,*p3;
  char temp[8];
  char str[4];


  p1 = (int *)&temp[0];
  p2 = (int *)&temp[4];


memcpy(str,&temp[6],2);
p3 = (int *)&str[0];


这样就通过了,
馨曦
5楼-- · 2019-03-24 09:28
 精彩回答 2  元偷偷看……
Li_Lei
6楼-- · 2019-03-24 13:49
p1 = (int *)(temp+6)
就好了

一周热门 更多>