作者ledwei (伟)
看板C_and_CPP
标题[问题] 请问一下新手十诫里的第六诫
时间Wed Jul 22 23:17:48 2009
意思是这样吗
int *change(int *x)
{
int *ptr;
*ptr=*x+10;
return ptr;
}
回传回去的指标变数ptr会变垃圾值吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.127.3
1F:推 VictorTom:不但回去是垃圾值, 连写值到*ptr都是一件非法的事.... 07/22 23:19
2F:→ VictorTom:不过, 如果是ptr = x + 10; return ptr;值是有意义的. 07/22 23:20
3F:推 softwind:不可以在函式中回传一个指向 "区域性"自动"变数"的指标 07/22 23:27
4F:推 QQ29:不过 *ptr不就会 run time error了嘛? 07/23 00:17
5F:推 adrianshum:如果是 ptr = x+10 , 而 x 在外面又是指向array, 那这 07/23 00:20
6F:→ adrianshum:样写就合理, *ptr 也不见得会有问题 07/23 00:21
7F:→ ledwei:谢谢,我懂了 07/23 00:29