我有一个函数,它将作为参数给出的指针重新分配给新大小。现在,问题在于 - 根据手册页 -realloc
需要一个已由malloc
或calloc
之前返回的指针。
如何确保调用者传递一个满足这些要求的指针?似乎没有内置的 C 机制(如类型限定符或其他东西)可以这样做。
现在,在我重组我的 API 之前(因为我认为现在的功能不够健壮) - 你能确认我没有错过任何东西吗?
提前致谢。
编辑: 一种解决方案显然是在函数中使用 malloc 。问题在于调用者没有“看到”分配。因此,我需要在文档中明确说明他必须释放指针。这比期望他们提供一个 malloc 的指针(这意味着调用者必须释放它)更糟糕。
我真正想要的是在编译时阻止滥用的东西。那,还有一匹小马。;-)