取消引用调用函数中的指针时出现分段错误

安库尔·萨蒂亚

当我运行以下代码时,出现分段错误错误,并且无法纠正错误。

    void test(int *c)
{
    c++;
    *c = 10;
    cout<<*c<<endl;
}

int main()
{
    int a =2;
    int *b = &a;
    test(b);
    cout<<*b;
    return 0;
}

我认为 b 应该指向值 '2'。但相反,它给出了一个错误。

SM

为了什么,您将指针移到test? 您将其移到变量的内存后面a并达到未定义的行为。

  c
  |
+---+---+
| 2 |   |
+---+---+
      |
     ++c

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章