对C指针释放感到困惑

时间:2017-04-19 00:24:41

标签: c

我对以下代码感到困惑,有人可以为我清理它吗?

当我这样做时:

$(function () {
  $rebuild.click(function(){
      $('#table').bootstrapTable('load', data);
  });
});

是否释放c指针本身或它指向的地址? (这是一个malloced地址)。

或者它是否释放指针并单独保留malloced地址?

2 个答案:

答案 0 :(得分:4)

你永远不会“释放指针”。这只是一个非常草率的简写,新用户可以轻松地从其他草率的新用户那里轻松获取,而且从不真正质疑。

你分配内存并释放内存。你谈论内存的方式是通过指向它的指针,但内存是资源,而不是任何描述内存的指针。

由于您通过指针讨论内存,指针是use返回的内容和malloc所采用的内容,并且因为释放函数被称为动词“free”,并且释放函数需要指针,在滑坡上很容易失误,开始谈论“释放指针”。说“拥有一个指针”是一个类似的失误;真正拥有的是对资源的责任。

答案 1 :(得分:-2)

它释放了c指向的地址。您仍然可以使用指针'c',但这很危险,您永远不应该这样做。