将int转换为指针有什么问题?

时间:2017-03-05 09:43:50

标签: c++ c

这是来自求职面试。

#include <stdio.h>
#include <stdlib.h>

void func(int* x)
{
    x =(int*)malloc(sizeof(int));
    *x = 17;
}

void main() {
    int y = 42;
    func(&y);
    printf("%d", y);
}

问题是将要打印什么,这里有什么问题。

我看到一个声称x是局部变量的解决方案,因此将打印42并且问题是内存泄漏。但我不这么认为,因为我传递了y的地址。在我看来,使用int作为指针(其中一个是4个字节,另一个是8个字节)实际上是问题。 你能就此提出自己的看法吗?

由于

0 个答案:

没有答案