新しく質問する

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

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

int型の配列は構造体のポインタ型のint型変数にはキャストすればうまくコンパイルが通りますが、同じ方法でfloat型の配列は構造体のポインタ型のfloat型変数にはキャストしてポインタの値を入れてもうまくコンパイルできず困っています。ちなみにコンパイルエラーは「互換でない型変換」と表示されます。
返答のほど、よろしくお願いいたします。
#include<stdio.h>
#include<malloc.h>
float time[] ={2.2, 2.3, 2.4};
int time2[] ={2, 2, 2};
struct timelist{
float *time;
int *time2;
struct timelist *next;
}*head;

void main(void)
{
struct timelist *p;
p = (struct timelist *)malloc(sizeof(struct timelist));
p -> time = (float *)time[0];
p -> time2 = (int *)time2[0];
printf("time = %f\n", p -> time);
printf("time2 = %d\n", p -> time2);

}

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

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

  • 回答者:JaritenCat
  • 回答日時:2004/11/28 19:34

ついでに、
printf("time = %f\n", *(p -> time));
printf("time2 = %d\n", *(p -> time2));
ですね。

通報する

この回答へのお礼

ありがとうございます。うまく処理ができました。

  • 参考になった:0件
  • 回答者:JaritenCat
  • 回答日時:2004/11/28 19:27

p -> time = &time[0];
p -> time2 = &time2[0];
では?

通報する

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

このページのトップへ

Facebook公式ページ

公式Twitter