首先先简单的介绍一下local变量
local变量指的是在某个区块内宣告的变量(像是main,或是你的getrandom都是一个区块)
宣告的变量会暂时放在stack中,离开区块后就会被清掉了
所以你的name在离开了getrandom函式的时候,就会不见了
当然也没办法回传给main囉
因为根本没有这个东西,也当然接收不到
那处理的办法目前我想到两种
一种就是你的方式
在函式内跟内存要一个空间(也就是你的*r),再把name里面的东西复制过去
(但是这样的方式好像很不好,会造成内存泄漏? )
另外一种就是在main里面宣告好一个变量(譬如说k),然后当做getrandom的变量传进去,
再放进去k,再回传就可以了
我忘记是不是还有其他更好的办法可以解决这个问题~如果我有想到再补上~