gpt4 book ai didi

c - 可以在c函数中传递的指针所指向的变量的最大大小是多少?

转载 作者:行者123 更新时间:2023-11-30 21:20:46 25 4
gpt4 key购买 nike

可以通过指向函数的指针传递的变量(结构)的大小是否有限制。此外,可以定义变量的大小有多大(结构中的结构等等......并且具有数组尺寸从 100-500 不等)为了程序的安全运行。(没有堆栈溢出,内存问题,指针损坏)这是针对内存限制为 64K 至 512K 的嵌入式系统

最佳答案

您似乎有三个问题:

  • 指针可以指向多大的内存块:这里的限制是指针大小的限制 - 无论是 32 位还是 64 位指针。但实际上,没有机器可能有足够的内存来使 64 位限制成为问题。

  • 我可以在堆栈上声明多大的结构(这意味着在某种程度上的本地声明):堆栈大小在所有硬件上都受到限制,通常比堆受到更多限制,堆栈不适合用于大型对象和堆栈限制可能会受到限制,尤其是在嵌入式系统中。这里的问题不是单个堆栈对象的大小,而是受限制的堆栈的总大小。

  • 我可以从堆中分配多大的结构(这意味着使用 newmalloc 分配的结构:堆是可用内存的“其余”部分; 该区域通常较大,对于大型分配来说​​是更好的地方;同样,最大空间完全取决于执行环境。进程在任何时候都有一个最大可用的连续堆数量,该数量为可以容纳的最大对象被分配。

关于c - 可以在c函数中传递的指针所指向的变量的最大大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34940314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com