【发布时间】:2020-09-15 12:08:49
【问题描述】:
如果我在函数内部声明一个指针,它是在函数栈中还是在堆中?
例如:
typedef uint32 my_element[16];
void foo()
{
my_element element* CSAAddress = 5;
}
在这种情况下,元素my_element在内存中的位置是什么?
【问题讨论】:
-
如果您将指针设置为 0,那么它不会指向任何地方。您可以将其设置为其他数值,但随后它指向内存中的随机事物。如果您想将其指向您制作的对象,则需要制作该对象并将指针指向它。
-
指针本身将存储在堆栈中。但它指向的位置取决于分配。
-
元素定义是什么?
my_element element*是一种类型吗?
标签: c pointers memory heap-memory callstack