No.2ベストアンサー
- 回答日時:
関数の生存期間はすべて静的記憶域期間です。
したがって、externをつけても static をつけても、何もつけなくてもメモリの使用量は一緒です。参考文献
C言語によるプログラミング スーパーリファレンス編、オーム社、2000.
以下、参考文献より該当箇所を抜粋
----------------------------------------------------------
第26章 関数 (page 346)
26.1.1 関数の種類
(前略)
なお、関数には自動記憶域期間のように、ある一定期間内だけ存在するという関数はありません。生存期間(10.4節)は、すべて静的記憶域期間です。
(以下略)
No.5
- 回答日時:
> ディスクの使用量の話でしょうか?
> ちょっと違うような気が…。
gccというだけでプラットフォームが不明なので、ディスクが存在するかどうか分かりませんが...
次のようなケースを想定しています。
/* a.c */
static void f()
{
...
}
void a()
{
f();
}
/* b.c */
static void f()
{
...
}
void b()
{
f();
}
のように、あちこちでfの定義を行えば,それぞれのfは別の実体を持つことになります。結果としてプログラムサイズが増えます。
ヘッダファイルの中で内部結合の関数fを定義して、それをあちこちでインクルードした場合も同様です。
この回答への補足
自分が作ったプログラムは、ひとつのファイルが1つのタスクになっており、init()など名前が重複している関数があるため、jactaさんの想定されたコードと似た構造になっております。
その場合にstaticをつけた場合と無い場合では、メモリー使用量の差異はあるのかが質問の内容でした。説明不足でもうしわけない
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# プログラム内から、MIDIファイルの一部分だけを再生する方法 1 2023/02/15 11:08
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
このプログラミング誰か教えて...
-
PICマイコンのコピー(クローン...
-
テキストボックスのエンターキ...
-
Excelに埋め込んだVBAのプログ...
-
プログラムを斜めに並べる
-
「Outlookが他のプログラムによ...
-
Notepad++の関数リスト表示でC...
-
円周率を求めるC言語のプログラム
-
等差数列の和を求めるプログラム
-
表計算プログラムの作り方
-
寿命
-
ラベルのアドレスを知る方法は...
-
Vba UserFormを前面に出す方法...
-
VBAにてメール作成した際、一部...
-
COBOLの連絡領域について
-
XnViewにwebpを「いつも開く」...
-
自動クエリとはどういうもので...
-
グラフをC#のASP.net MVCで表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
あるプログラムのコマンドライ...
-
これってほんとにみますか?
-
Excelで4096点以上のFFTの方法
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
VBAでユーザーフォームが自動的...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
テキストボックスのエンターキ...
-
読み込み中にアクセス違反が発...
-
特定のwebサイトのタイトルや記...
-
未使用の変数を一括検索する方法
-
モジュール、アプリケーション...
-
COBOLの連絡領域について
-
Google カレンダーの商用利用
-
エクセルとワードをデスクトッ...
-
ドロップダウンリストの文字を...
-
binファイルってiphone専用です...
おすすめ情報