ここで私は基本的な疑問を持っています。ここでは、グローバル変数を返す必要はないと言っています。
さて、私がreturn
グローバル変数である場合 (それをchar
orint
またはその他のデータ型にする)、それはどのような恐ろしいことを引き起こすのでしょうか? 関数から変数を取得すると、変数がすぐに破棄される
ことを知っています。
その変数に割り当てられたメモリが割り当て解除/解放されるということですか? 誰かが光を当てることができますか?
次のコードを検討してください。return
#include<stdio.h>
int var; //a global int
int MyFuction(void)
{
int temp_var = 0;
temp_var++;
return temp_var; //it will get destroyed after returning
}
int main(void)
{
MyFunction();
var++;
return var; //Will it get destroyed here, (var being a global variable)?
}