已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
去年关闭。
Improve this question
通过考虑存储器被划分为四个段:数据、堆、堆栈和代码,全局变量、静态变量、常量数据类型、局部变量(在函数中定义和声明)、变量(在主函数中)、指针和动态分配的空间(使用malloc和calloc)存储在内存中的何处?
我认为它们将分配如下:
Global variables -------> data
Static variables -------> data
Constant data types -----> code
Local variables (declared and defined in functions) --------> stack
Variables declared and defined in main function -----> heap
Pointers (for example, char *arr, int *arr) -------> heap
Dynamically allocated space (using malloc and calloc) -------->
我只是从C的Angular 来引用这些变量。
如果我错了请纠正我,因为我是C的新手。
1条答案
按热度按时间lo8azlld1#
由于Python中的所有东西都是对象,并且所有对象都可以赋值给变量,因此无法创建不能赋值给变量的无错误值。
然而,顺便说一句,存在永远不能分配给变量的表达式。人们会认为抛出错误的表达式属于这个框,例如
1/0
,它抛出ZeroDivisionError:但事实上,这些表达式可以在try/except语句中捕获,例如下面的语句:
然而,这并不是故事的结束,因为存在导致Python解释器segfault的表达式。我所知道的最短的一个来自Codegolf Stack Exchange:
这将总是使python解释器崩溃,即使在try-except语句中也是如此。