笔试题求助(指针)

short arrarys[8];
int*p=(int*)arrays;
for(int i = 0;i<8;++i)
{
    *p=i;
}

以上代码存在什么bug。
恳求大佬解析

我的理解是short数组的长度是16;给*P赋值的时候一个元素占四个字节,在赋值到第五个个字节的时候就会超出分配给short的内存长度。  然后面试官说也可以这样理解
发布#笔试题目#
全部评论
i没有声明,你隔这玩脑经急转弯呢?
点赞 回复 分享
发布于 2018-06-15 07:56
可能会段错误
点赞 回复 分享
发布于 2018-06-14 22:34
声明了数组,没有初始化
点赞 回复 分享
发布于 2018-06-14 23:02
你*p又没有动,怎么会段错误?这个毫无错误,只是内存变成了
点赞 回复 分享
发布于 2018-06-15 01:52

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务