Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用realloc更改内存大小?_C_Pointers - Fatal编程技术网

如何使用realloc更改内存大小?

如何使用realloc更改内存大小?,c,pointers,C,Pointers,在我的参数中,我有 uint8_t* const Destination uint8_t size 所以我用realloc来改变内存的大小 *Destination = realloc(Destination, size); 然而,这不起作用,并给出了警告。 我是个新手,非常感谢大家的帮助 uint8_t* const Destination; 删除常量const意味着指针不能更改,而(更改)正是您要做的 移除指针前的星号。程序将停止编译,因为对于我的赋值,const,我不应该更

在我的参数中,我有

uint8_t* const Destination
uint8_t size
所以我用realloc来改变内存的大小

*Destination = realloc(Destination, size);
然而,这不起作用,并给出了警告。 我是个新手,非常感谢大家的帮助

  uint8_t* const Destination;   
删除常量
const
意味着指针不能更改,而(更改)正是您要做的


移除指针前的星号。程序将停止编译,因为对于我的赋值,const

,我不应该更改任何参数。当常量存在时,有什么方法可以使用realloc吗?@user12908899:如果
目的地
是一个参数并且调用者需要使用存储,那么
目的地
将需要类型为
uint8\u t**
,传递一个
uint8\u t*
的地址,因此,
*目的地
的类型将为
uint8\u t*
@user12908899,如果必须保持不变,则不应尝试更改它。//此外,由于
Destination
是一个参数,因此在函数中更改其值不会影响调用者,因此即使尝试重新分配它也没有意义,除非您有办法将新指针返回调用者。@user12908899为什么要使用const限定符?@klutt它是赋值框架的一部分,所以我不应该修改它,所有的代码至少都要修改一次。