前提・実現したいこと
こんばんわ。
構造体のポインタ変数の初期化について
Linux C にて下記のような結果を望んでいます。
p_data.ptr_chld->val_data_a = 1;
方法①、②、③とも、Segmentation faultを起こしてしまいます。
何かいい方法はありますでしょうか?
発生している問題・エラーメッセージ
Segmentation fault
該当のソースコード
Linux C
#include <stdio.h>
typedef struct _DATA_CHLD
{
int val_data_a;
} DATA_CHLD;
typedef struct _DATA_PARNT
{
DATA_CHLD * ptr_chld;
} DATA_PARNT;
int main(void) {
DATA_PARNT p_data, *p; DATA_CHLD c_data;
}
試したこと
① p_data.ptr_chld->val_data_a = 1; //←Segmentation fault
② c_data.val_data_a = 1;
p_data.ptr_chld->val_data_a = c_data.val_data_a; //←Segmentation fault
③ c_data.val_data_a = 1;
p->ptr_chld->val_data_a = &c_data.val_data_a; //← Segmentation fault
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/07 13:37