Re: [問題] malloc問題
看板C_and_CPP (C/C++)作者jerohands (這就是人生啊)時間16年前 (2009/03/16 16:57)推噓7(7推 0噓 7→)留言14則, 6人參與討論串4/6 (看更多)
※ 引述《timlong (timlong)》之銘言:
: void alloc_mem(int **p)
: {
: *p = (int *)malloc(sizeof(int));
: }
: int main()
: {
: int *ptr=NULL;
: alloc_mem(&ptr);
: /*...*/
: }
在下也來分享一下:
void alloc_mem(int *&p) ← 使用 call by reference
{
p = (int*)malloc(sizeof(int));
}
int main()
{
int *ptr = NULL;
alloc_mem(ptr);
return 0;
}
關於賦予函式參數值的方式,
timlong 大使用的是 call by address,這在 Win32 API 也很常見。
用 call by address 和 call by reference 的差別,
前者是額外配置一個記憶體的指標指到傳入的參數,
後者則為直接傳入參數本身的記憶體位址,
在效能上佔有優勢且在coding上也比較直覺。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.44.9
推
03/16 17:08, , 1F
03/16 17:08, 1F
→
03/16 17:49, , 2F
03/16 17:49, 2F
推
03/16 17:53, , 3F
03/16 17:53, 3F
→
03/16 17:54, , 4F
03/16 17:54, 4F
推
03/16 18:13, , 5F
03/16 18:13, 5F
推
03/16 18:28, , 6F
03/16 18:28, 6F
推
03/16 18:30, , 7F
03/16 18:30, 7F
→
03/16 18:30, , 8F
03/16 18:30, 8F
→
03/16 18:31, , 9F
03/16 18:31, 9F
→
03/16 18:31, , 10F
03/16 18:31, 10F
→
03/16 18:32, , 11F
03/16 18:32, 11F
→
03/16 18:32, , 12F
03/16 18:32, 12F
推
03/16 18:37, , 13F
03/16 18:37, 13F
推
03/16 21:11, , 14F
03/16 21:11, 14F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章