我不擅长指针,但我必须在该领域学习。如果我的理解正确,这些都应该是下面的有效陈述。
int* a;
int b = 10;
a = &b;
(*a) = 20;
(*a) == b; //this should be true
如果你有这样的功能:
void copy(int* out, int in) {
*out = in;
}
int m_out, m_in;
copy(&m_out, m_in);
m_out == m_in; // this should also be true
但我看到了这样的功能
create(float& tp, void* form, char* title);
我理解 void 指针,它可以转换为任何东西,我理解字符指针,它基本上是 ac 样式字符串。
我不明白第一个参数,它是某种类型的地址,假设是一个浮点数,但它可以是任何东西,一个结构,一个 int 等。
那里发生了什么?