教えてください!

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たまー

教えてください!

#1

投稿記事 by たまー » 18年前

構造体XYZがあり、その合計値を戻り値として
アドレス渡ししたいのですがわかりますでしょうか?
(言ってる意味通じないかも><)

box

Re:教えてください!

#2

投稿記事 by box » 18年前

構造体XYZのメンバー構成を教えてください。

たまー

Re:教えてください!

#3

投稿記事 by たまー » 18年前

構造体のメンバは参考なのでなんでもいいんです^^;
形を知りたかったので、
char X[10];
char Y[15];
char Z[20];

X(1,2,3,)Y(4,5,6)Z(7,8,9)
こんな感じでよろしいでしょうか?><
値などこれに限らずなんでもいいので参考例を
よろしくお願いいたします!

たかぎ

Re:教えてください!

#4

投稿記事 by たかぎ » 18年前

> 構造体のメンバは参考なのでなんでもいいんです^^;

構造体の定義によって、操作の仕方が異なります。
それに、合計といっても、何をどう合計するのか皆目分かりません。
何でもよいというのであれば、
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:教えてください!

#5

投稿記事 by たまー » 18年前

早い回答ありがとうございます^^
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:教えてください!

#6

投稿記事 by 管理人 » 18年前

何がしたいのか、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:教えてください!

#7

投稿記事 by たまー » 18年前

管理人さま、返答ありがとうございます^^
特にすごくこうしたいとかじゃなくて、
書き方、動きなどを知りたかったので、
すごく参考になりました^^
また、こういう機会ありましたらよろしくお願いします^^

閉鎖

“C言語何でも質問掲示板” へ戻る