その時は「C初心者」という名前で質問させていただきました。
今回、どうしても解決できないことが再び発生しまして、質問させていただきます。
タイトルの通り、関数での引数の減らし方についてです。
ある関数で定義された変数を、他の関数をまたいで三つ目の関数へと持っていく時、全ての関数で引数を定義しなければなりませんよね。
グローバル変数を使わない前提で、どうにかして引数の数を減らすことができないものでしょうか?
例えば、下記のコードでmain関数内で定義されたhogeをfunc2まで持っていきたい場合のことですが、
#include <stdio.h>
int func2(int hoge_f2){
printf("hoge:%d",hoge_f2);
}
int func1(int hoge_f1){
func2(hoge_f1);
}
int main(void){
int hoge = 100;
func1(hoge);
}
直接func2を呼べばいいとかそういうことではなく、func1からfunc2を呼び出したいのです。
グローバル変数を使わずに、もっとうまく変数の寿命を操作する方法はないものでしょうか?
まだ初心者なもので、動的確保やリスト構造といった難しいそうな所はほとんど使い方が分かりません。
しかし、そういったところにこの問題を解決する手掛かりがありそうなので、質問させていただきました。
どうぞ何方かご教授ください。