在函数中返回指向被调用的int的指针和返回已初始化的int的地址之间有什么区别?

雷纳格

我对这两种情况之间的差异感兴趣:

int *function() {
    int i = 5;

    return &i;
}

int *function() {
    int *i = calloc(1, sizeof(int));
    *i = 5;

    return i;
}

有区别吗?如果是这样,有人可以解释后台发生了什么吗?

克里斯蒂娜(Kristina)

是,有一点不同。在第一种情况下,整数i在堆栈上分配,这意味着在函数返回时它将被重用。在第二种情况下,内存是在堆上分配的,不会在函数调用之外被覆盖。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类C,构造函数和统一初始化之间有什么区别?

来自分类Dev

调用函数和返回函数有什么区别?

来自分类Dev

初始化对象数组和初始化对象之间有什么区别?

来自分类Dev

使用ori和addi在MIPS中初始化值之间有什么区别?

来自分类Dev

如何从具有int和struct类型的指针的函数中解引用指针返回的地址?

来自分类Dev

调用和返回函数有什么区别?

来自分类Dev

使用带有和不带有return语句的函数初始化JavaScript对象之间有什么区别?

来自分类Dev

从初始化构造函数创建的对象和Assign运算符之间有什么区别?

来自分类Dev

使用函数在setState中返回对象和直接使用对象之间有什么区别?

来自分类Dev

在 C++ 中使用和不使用构造函数调用初始化对象有什么区别

来自分类Dev

将int array []或指向int array []的指针返回到C中的调用例程的函数

来自分类Dev

这些对象初始化之间有什么区别?

来自分类Dev

这些对象初始化之间有什么区别?

来自分类Dev

{x}和'= {x}'初始化之间有什么区别(如果有)?

来自分类Dev

返回函数调用与在递归期间仅再次调用函数之间有什么区别?

来自分类Dev

在构造函数内外初始化实例变量之间有什么区别?

来自分类Dev

Java中通过new String()和new String(“”)进行的String初始化之间有什么区别?

来自分类Dev

JavaScript与Java中的数组中未初始化的项目之间有什么区别?

来自分类Dev

0,int()和int {}之间有什么区别?

来自分类Dev

((int)a)和(int(a))之间有什么区别?

来自分类Dev

C&C ++:指向数组的指针和指向数组的地址有什么区别?

来自分类Dev

C&C ++:指向数组的指针和指向数组的地址有什么区别?

来自分类Dev

函数类型('a->'a)-> int->'a->'a和('a->'a)-> int->('a->'a)之间有什么区别?

来自分类Dev

std :: call_once和函数级静态初始化有什么区别

来自分类Dev

使用初始化列表初始化字段并在构造函数内部对其进行初始化之间有什么区别?

来自分类Dev

在golang中,使用make与{}初始化的地图之间在性能上有什么区别

来自分类Dev

C ++中的构造函数初始化有什么区别?

来自分类Dev

初始化int影响函数的返回值

来自分类Dev

简洁地声明和初始化指针(即,指向int的指针)

Related 相关文章

  1. 1

    类C,构造函数和统一初始化之间有什么区别?

  2. 2

    调用函数和返回函数有什么区别?

  3. 3

    初始化对象数组和初始化对象之间有什么区别?

  4. 4

    使用ori和addi在MIPS中初始化值之间有什么区别?

  5. 5

    如何从具有int和struct类型的指针的函数中解引用指针返回的地址?

  6. 6

    调用和返回函数有什么区别?

  7. 7

    使用带有和不带有return语句的函数初始化JavaScript对象之间有什么区别?

  8. 8

    从初始化构造函数创建的对象和Assign运算符之间有什么区别?

  9. 9

    使用函数在setState中返回对象和直接使用对象之间有什么区别?

  10. 10

    在 C++ 中使用和不使用构造函数调用初始化对象有什么区别

  11. 11

    将int array []或指向int array []的指针返回到C中的调用例程的函数

  12. 12

    这些对象初始化之间有什么区别?

  13. 13

    这些对象初始化之间有什么区别?

  14. 14

    {x}和'= {x}'初始化之间有什么区别(如果有)?

  15. 15

    返回函数调用与在递归期间仅再次调用函数之间有什么区别?

  16. 16

    在构造函数内外初始化实例变量之间有什么区别?

  17. 17

    Java中通过new String()和new String(“”)进行的String初始化之间有什么区别?

  18. 18

    JavaScript与Java中的数组中未初始化的项目之间有什么区别?

  19. 19

    0,int()和int {}之间有什么区别?

  20. 20

    ((int)a)和(int(a))之间有什么区别?

  21. 21

    C&C ++:指向数组的指针和指向数组的地址有什么区别?

  22. 22

    C&C ++:指向数组的指针和指向数组的地址有什么区别?

  23. 23

    函数类型('a->'a)-> int->'a->'a和('a->'a)-> int->('a->'a)之间有什么区别?

  24. 24

    std :: call_once和函数级静态初始化有什么区别

  25. 25

    使用初始化列表初始化字段并在构造函数内部对其进行初始化之间有什么区别?

  26. 26

    在golang中,使用make与{}初始化的地图之间在性能上有什么区别

  27. 27

    C ++中的构造函数初始化有什么区别?

  28. 28

    初始化int影响函数的返回值

  29. 29

    简洁地声明和初始化指针(即,指向int的指针)

热门标签

归档