变量如何存储在C中?

时间:2019-07-06 01:27:42

标签: c memory static stack heap

哪些变量存储在(堆栈,堆,静态,代码)中?

我查找了很多帖子,但是我仍然对内存分配感到困惑。在这里,为了清晰起见,我写了几行示例代码。我想知道它们的区别。

#include <stdio.h>

int num = 5;
int func(int x) {
    return x + 1;
}

int main() {
    int *ptr = malloc(sizeof(int));

    free(ptr);

    return 0;
};

据我了解, 1)num是静态的 2)func是静态的 3)* ptr(不知道,也许是堆?) 4)ptr(不知道,也许是堆吗?) 5)x(不知道)

在上述情况下,在main()内部未调用func。然后,如果像这样在main()内部调用func()怎么办

int main() {
    ...

    int res;
    res = func(3);

    ...
};

在这种情况下,res和func存储在哪里?

0 个答案:

没有答案