[解決済み] C言語標準に準拠した構造体の初期化方法
2022-03-18 06:51:11
質問
struct要素の初期化を、宣言と初期化で分けて行いたい。こんな感じです。
typedef struct MY_TYPE {
bool flag;
short int value;
double stuff;
} MY_TYPE;
void function(void) {
MY_TYPE a;
...
a = { true, 15, 0.123 }
}
のローカル変数を宣言し、初期化する方法でしょうか?
MY_TYPE
C言語の規格(C89、C90、C99、C11など)に従って?それとも、もっと良いもの、少なくとも動作するものがあるのでしょうか?
更新情報 結局、静的な初期化要素を持っていて、必要に応じてすべてのサブエレメントを設定しました。
解決方法は?
(ANSI)C99の場合、(ANSI)C99と同じように 指定イニシャライザー を使用して構造体を初期化します。
MY_TYPE a = { .flag = true, .value = 123, .stuff = 0.456 };
その他のメンバーはゼロとして初期化されます: "省略されたフィールドメンバーは、静的記憶期間を持つオブジェクトと同じように暗黙のうちに初期化されます" ( https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html )
関連
-
Solve Dev-c++ [エラー] 'for' ループの初期宣言は、C99 または C11 モードでのみ許可されます。
-
initializer element is not constant "というエラーが表示されるのですが?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] HashSetの値を構造的に初期化する方法は?
-
[解決済み] std::vectorをハードコードされた要素で初期化する最も簡単な方法は何ですか?
-
[解決済み] C++で静的プライベートメンバを初期化する方法は?
-
[解決済み] 構造体変数をコンソールに表示するには?
-
[解決済み] Javaで配列を初期化する方法は?
-
[解決済み】C#で空の配列を初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
_CRT_SECURE_NO_WARNINGS エラーメッセージ、解決方法
-
initializer element is not constant "というエラーが表示されるのですが?
-
未定義の `__isoc99_sscanf' への参照
-
C/C++の再定義
-
[解決済み] 初期化でポインタ対象の型から修飾語を捨てる
-
[解決済み] mallocで文字列を確保する
-
[解決済み] C言語の書式指定子 %ul と %lu の違いは何ですか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] C言語でファイルが存在するかどうかを確認する最も良い方法は何ですか?
-
[解決済み] .aファイル、.soファイルとは何ですか?