回答編集履歴

1

個人的見解も追加

2022/10/15 09:36

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -4,3 +4,8 @@
4
4
  参考: [【C言語】なぜグローバル変数は使わない方が良いのか?](https://daeudaeu.com/why-no-global/#:~:text=%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%AF-,%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%A4%89%E6%95%B0%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E8%AA%AD%E3%81%BF%E3%81%AB%E3%81%8F%E3%81%84,%E3%81%AB%E3%81%8F%E3%81%84%E3%81%A8%E3%81%84%E3%81%86%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82)
5
5
 
6
6
  (1)と(3)は処理内容次第だと思います。
7
+
8
+ 個人的には(3)がベターだと思っています。
9
+ (1)だと、たとえばこの関数がもしWindows APIなりQtなり.NET Frameworkなりのような外部ライブラリ状態で提供されている場合は、利用者は(関数の)作成者**以外**です。そうなると要素数が違うものに入れようとする可能性だってありますね。
10
+ たとえば引数としては char data[10] の配列を渡しているのに戻り値はchar res[3] みたいな感じで引き受けようとする可能性だってあります。
11
+ なので引数を戻り値扱いにして処理する方が楽なのではと思いますね。