ページ 1 / 1
教えてください!
Posted: 2007年10月08日(月) 03:48
by たまー
構造体XYZがあり、その合計値を戻り値として
アドレス渡ししたいのですがわかりますでしょうか?
(言ってる意味通じないかも><)
Re:教えてください!
Posted: 2007年10月08日(月) 07:12
by box
構造体XYZのメンバー構成を教えてください。
Re:教えてください!
Posted: 2007年10月08日(月) 11:42
by たまー
構造体のメンバは参考なのでなんでもいいんです^^;
形を知りたかったので、
char X[10];
char Y[15];
char Z[20];
X(1,2,3,)Y(4,5,6)Z(7,8,9)
こんな感じでよろしいでしょうか?><
値などこれに限らずなんでもいいので参考例を
よろしくお願いいたします!
Re:教えてください!
Posted: 2007年10月08日(月) 13:46
by たかぎ
> 構造体のメンバは参考なのでなんでもいいんです^^;
構造体の定義によって、操作の仕方が異なります。
それに、合計といっても、何をどう合計するのか皆目分かりません。
何でもよいというのであれば、
struct X { int x; };
struct Y { long y; };
struct Z { double z; }
double sum(const struct X *x, const struct Y *y, const struct Z *z)
{
return x->x + y->y + z->z;
}
とすれば合計を求められますが、これが期待した答えなのかどうか、私にはわかりません。
> char X[10];
> char Y[15];
> char Z[20];
これらは構造体ではなく配列です。
Re:教えてください!
Posted: 2007年10月08日(月) 14:57
by たまー
早い回答ありがとうございます^^
suuziというタグ名で構造体ひとつにしたら、
こんな感じでいいのでしょうか?
ご回答お願いします!
struct suuzi { int x,int y,int z }SUUZI;
int sum(const SUUZI *x, const SUUZI *y, const SUUZI *z)
{
return x->x + y->y + z->z;
}
Re:教えてください!
Posted: 2007年10月08日(月) 15:03
by 管理人
何がしたいのか、XYZは座標なのかなんなのかによって、プログラムは変わってくると思います。
例えば座標なのでしたら、構造体にx,y,zセットで定義した方が便利ではないでしょうか。
#include <stdio.h>
typedef struct{
double x,y,z;
}xyz_t;
double sum(xyz_t *xyz)
{
return xyz->x + xyz->y + xyz->z;
}
int main(){
xyz_t xyz;
xyz.x=5.0;
xyz.y=8.0;
xyz.z=7.0;
printf("sum = %f",sum(&xyz));
}
具体的に何がしたいのかがわかればもっと詳細に書けると思います。
Re:教えてください!
Posted: 2007年10月08日(月) 15:44
by たまー
管理人さま、返答ありがとうございます^^
特にすごくこうしたいとかじゃなくて、
書き方、動きなどを知りたかったので、
すごく参考になりました^^
また、こういう機会ありましたらよろしくお願いします^^