据我所知,每当我们运行任何程序时,程序的机器指令都会加载到RAM中.同样,存在两个内存区域:堆栈和堆.
我的问题是:机器指令存储在哪个内存区域?堆栈还是堆?
我了解到,虽然函数内部没有声明变量,但以下程序会产生运行时错误.这背后的原因是堆栈溢出.那么我应该假设函数的机器指令存储在堆栈中吗?
int func()
{
return func();
}
Run Code Online (Sandbox Code Playgroud) print(10**40//2)
print(int(10**40/2))
Run Code Online (Sandbox Code Playgroud)
输出代码:
5000000000000000000000000000000000000000
5000000000000000151893014213501833445376
Run Code Online (Sandbox Code Playgroud)
为何不同的价值?为什么第二个的输出print()看起来如此?
在C中,我发现如果发生运行时错误,则返回垃圾值.但是为什么在这种情况下会返回垃圾值?
此代码将给出运行时错误.我知道为什么在这里发生运行时错误.但我想知道为什么返回值是垃圾值.
#include<stdio.h>
int main()
{
int *x;
*x = 10;
return 0;
}
Run Code Online (Sandbox Code Playgroud)