[问题] C语言将指标丢进函式malloc内存问题

楼主: coolE (NULL)   2015-04-01 18:05:40
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
NO
程式码(Code):(请善用置底文网页, 记得排版)
example:
void foo(char* buf, int size)
{
n = ...//计算得
buf = (char*)malloc(size+n);
//省略
}
void main()
{
char* ptr;
foo(ptr);
//利用ptr指向的内存做事
}
补充说明(Supplement):
我想要宣告一个指标,我有需求要在foo里面realloc/malloc所以传指标进去foo()
在C++的环境下
我使用call by reference
void foo(char* &buf, int size)时可以完成我的目的
但我后来发现在C的环境中无法使用reference
用void foo(char* buf, int size)已我目前水准无法正确的在副程式malloc内存,
后来供主程式使用这块内存.
在副程式里面malloc内存再将指标传回当然是可以做, 但是好奇假如限制用
void foo(char* buf, int size) 是否有办法完成我要的目的? 谢谢!
作者: LPH66 (-6.2598534e+18f)   2015-04-01 18:08:00
再加一层 *
作者: azureblaze (AzureBlaze)   2015-04-01 18:17:00
http://ideone.com/y7fzXS大多数情况下reference是让多一层*变比较好看
楼主: coolE (NULL)   2015-04-01 18:48:00
多谢两位高手提示,小弟已用**buf试出来了 谢谢!
作者: CumCumCum (2 hard 2 hard)   2015-04-02 22:35:00
指标指标

Links booklink

Contact Us: admin [ a t ] ucptt.com