1)初始化我使用的指针:

int number, *Pnumber;
    Pnumber=&number;
    number=10;

我这样做对吗?

关于什么:
int *Pnumber;
*Pnumber=10;

当我编译它时,我得到:



顺便提一句。我需要使用 free(Pnumber) 来释放内存吗?

最佳答案



是的,你是。


  `int *Pnumber;
   *Pnumber=10;`
Pnumber 是一个未初始化的指针。取消引用此指针会导致未定义的行为。 Pnumber 必须指向分配的内存(指向变量或动态分配的内存区域)。



只要您不使用 malloc ,就不要使用 free

关于c - 关于 C 中的指针的一些疑问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14547760/

10-11 18:30