①値と、値を指す参照があります
②変数も関数の引数も返値も、値か参照です
③変数は関数からreturnすると消えるローカル変数と、ずっと存在し続けるstatic変数があります
④つまりローカル変数の値を指す参照を、関数から返すことはできません
⑤関数から返すことができる参照は、引数で渡されたものが由来か、staticな値の参照か、どちらかだけです