我想返回函數func()
中變量k
的地址。這是2個功能。嘗試返回函數中局部變量的地址
主()功能
#include <stdio.h>
main()
{
int* j;
int* func();
j= func();
printf("\n%d",*j);
}
FUNC()功能
int* func()
{
static int k=30;
return (&k);
}
我想int *func()
返回的k
地址,但顯示以下錯誤。
function returns address of local variable [-Wreturn-local-addr]
return (&k);
的'生命k'結束函數返回時。你將如何處理不再存在的東西的地址?另外,main()是什麼? –
咦?現在代碼有一個'static int k;',我猜它原本沒有,並且完全改變了事情。很混亂。 – unwind
是的,我編輯它。我完全對不起我的錯誤。 @unwind – barnes