指向只存在于函数 C 中的变量

斯诺基

我目前正在尝试通过阅读“C 编程语言”来学习 C。我试图弄清楚诸如指针之类的东西,但我遇到了一个我无法理解的例子。
例子
一个指针数组作为参数传递给给定的函数,它指向在函数内创建的变量,据我所知。

lineptr[nlines++] = p;

这是否只是因为之前使用的 alloc 函数才可行?这是如何工作的,这是一种安全的编码方式还是应该避免?

用户2201041

正如你所说,进来的lineptr是一个指针数组。希望它们都是 NULL,否则我们将有内存泄漏,但我们仍然有我们的数组。

p0 | p1 | p2 | p3 |...

alloc分配一些大小的内存块len(这里的术语非常宽松)“存在”于函数之外的某处。它返回一个指向该内存的指针。然后我们可以自由地将此指针放入数组中。

当函数返回时,调用者将能够alloc通过存储在数组中的指针访问由函数外部的“生存者”分配的内存

如果你能更详细地解释为什么你担心这段代码,也许有一个更好的答案给你。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++ 11函数模板专门存在于类方法中(如果存在)

来自分类Dev

存在于清单C#中

来自分类Dev

C ++概念-我可以有一个要求函数存在于类中的约束吗?

来自分类Dev

C++如何编写一个函数来检查元素是否存在于动态分配的数组中

来自分类Dev

是否有用于排序和查找值是否已存在于 C++ 中的函数?

来自分类Dev

类中缺少实例变量但存在于构造函数中

来自分类Dev

tee函数是否存在于F#库中?

来自分类Dev

调用函数存在于php类中?

来自分类Dev

自属性存在于函数指针中?

来自分类Dev

函数检查元素是否存在于列表中

来自分类Dev

如何检查成员名称(变量或函数)是否存在于类中(指定或不指定类型)?

来自分类Dev

C++ 中“const 引用”的概念是否存在于Objective-C 中?

来自分类Dev

为什么size_t存在于C / C ++中并且可以/应该被替换?

来自分类Dev

存在于BlToolkit中

来自分类Dev

打开存在于C中其他目录中的txt文件

来自分类Dev

SQL 只返回存在于另一个表中的 id

来自分类Dev

强迫存在于内存中的对象指向另一个对象?

来自分类Dev

密钥存在于复杂的 php 变量中

来自分类Dev

Objective-C检查项目是否存在于NSMutableArray中

来自分类Dev

检查元素是否存在于动态分配的数组C ++中

来自分类Dev

检查用户是否存在于Azure Active Directory B2C中

来自分类Dev

使用C#检查快照是否已存在于SQL Server中

来自分类Dev

C ++如何检查给定输入是否存在于成对向量中?

来自分类Dev

为什么需要判断元素是否存在于removeAll(Collection c)的集合中?

来自分类Dev

如果该行存在于C#的SQL数据库中,则显示标签

来自分类Dev

查找宪章是否仅存在于字符串C#中

来自分类Dev

通用函数来替换quote()d表达式中的所有变量(如果它们存在于环境中)

来自分类Dev

在C程序中定义指向函数的指针变量

来自分类Dev

在函数C ++中引用变量

Related 相关文章

  1. 1

    C ++ 11函数模板专门存在于类方法中(如果存在)

  2. 2

    存在于清单C#中

  3. 3

    C ++概念-我可以有一个要求函数存在于类中的约束吗?

  4. 4

    C++如何编写一个函数来检查元素是否存在于动态分配的数组中

  5. 5

    是否有用于排序和查找值是否已存在于 C++ 中的函数?

  6. 6

    类中缺少实例变量但存在于构造函数中

  7. 7

    tee函数是否存在于F#库中?

  8. 8

    调用函数存在于php类中?

  9. 9

    自属性存在于函数指针中?

  10. 10

    函数检查元素是否存在于列表中

  11. 11

    如何检查成员名称(变量或函数)是否存在于类中(指定或不指定类型)?

  12. 12

    C++ 中“const 引用”的概念是否存在于Objective-C 中?

  13. 13

    为什么size_t存在于C / C ++中并且可以/应该被替换?

  14. 14

    存在于BlToolkit中

  15. 15

    打开存在于C中其他目录中的txt文件

  16. 16

    SQL 只返回存在于另一个表中的 id

  17. 17

    强迫存在于内存中的对象指向另一个对象?

  18. 18

    密钥存在于复杂的 php 变量中

  19. 19

    Objective-C检查项目是否存在于NSMutableArray中

  20. 20

    检查元素是否存在于动态分配的数组C ++中

  21. 21

    检查用户是否存在于Azure Active Directory B2C中

  22. 22

    使用C#检查快照是否已存在于SQL Server中

  23. 23

    C ++如何检查给定输入是否存在于成对向量中?

  24. 24

    为什么需要判断元素是否存在于removeAll(Collection c)的集合中?

  25. 25

    如果该行存在于C#的SQL数据库中,则显示标签

  26. 26

    查找宪章是否仅存在于字符串C#中

  27. 27

    通用函数来替换quote()d表达式中的所有变量(如果它们存在于环境中)

  28. 28

    在C程序中定义指向函数的指针变量

  29. 29

    在函数C ++中引用变量

热门标签

归档