返回一個局部變量我發現這裏類似的問題和解決方案 - returning a local variable from function in C從功能用C
但與同一問題的另一個解決方案走過來,想請你來評價它,是它正確或不?
int myfunction (char **returnval) {
int isvalue = 0;
char *d;
d = "Lorem";
*returnval = d;
return isvalue;
}
int main(int argc, char **argv) {
int func_return;
char *myvar;
func_return = myfunction(&myvar);
printf("myvar=[%s]\n", myvar);
return 0;
}
輸出:MYVAR = [的Lorem]
是該代碼正確的嗎?由於函數範圍,變量使用的內存不會丟失?
謝謝。
我給另一個+1 ** **常量char * – sidyll