为什么下面程序的输出是0x0
?
BYTE n_buffer[4] = { 1, 2, 3, 4};
int GetElement(BYTE *pElement, DWORD dwIndex)
{
pElement = &n_buffer[dwIndex];
return SUCCESS;
}
int main()
{
BYTE *res2 = NULL;
GetElement(res2, 3);
printf("0x%X\n", res2);
}
最佳答案
你不返回任何指针,我的猜测是你想传递指针的地址并为其赋值
int GetElement(BYTE **pElement, DWORD dwIndex)
{
*pElement = &n_buffer[dwIndex];
return SUCCESS;
}
尝试画出指针及其指向的位置,并阅读更多关于指针的内容。
关于c - 将指针传递给函数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960819/