新しく質問する

ポインタ型配列のポインタを構造体のポインタ変数に格納する方法教えて!

役に立った:0件
  • 質問者:yukikundesuyo
  • 投稿日時:2004/11/28 14:11
  • 困り度:困ってます
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

問題の箇所を試行錯誤しても「移植性のないポインタ変換(関数 main )」と表示されます。
どうすればエラーが出ないでしょうか?
返答のほどよろしくお願いいたします。
#include<stdio.h>
char *name[] = {"AAA", "BBB", "CCC"};
struct namelist{
char *name;
struct namelist *next;
}*head;
void main(void)
{
printf("name = %s\n", name[1]);
head -> name = *name[1];←問題の箇所
printf("head -> name = %s\n", head -> name);
}

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:0件)
  • 参考になった:0件

No.2ベストアンサー20pt

  • 回答者:JaritenCat
  • 回答日時:2004/11/28 16:32

NO.1の回答通りです。
ただ、質問プログラムをこのまま実行する場合は、headの値が未定義なので、mallocなどで領域確保が必要ですね。

通報する

この回答へのお礼

malloc忘れていました。ありがとうございます。

  • 参考になった:0件

No.1ベストアンサー10pt

  • 回答者:tshinta
  • 回答日時:2004/11/28 14:44

外部変数nameは、char*の配列ですので、配列に格納されている値は、"AAA"や"BBB"のアドレスである、char*の値です。
header->nameはchar*型なので、配列の値をそのまま代入すればいいと思います。

header->name = name[1];

通報する

この回答へのお礼

ありがとうございました。

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ

Facebook公式ページ

公式Twitter