首页 > 代码库 > 【C语言】指针

【C语言】指针

一种错误的写法:

int * x = (int *)malloc(5 * sizeof(int));int * y = (int *)malloc(5 * sizeof(int));y = x;

没有必要为y开辟内存,因为y在开辟内存时 y内存储的地址时开辟的内存的位置, 但是后面又把x的值赋给了y, y原本的内存值失去了控制。

而再 free(y); 时, free的其实是x开辟的内存,整个过程都失控了。