C言語 入門 小学生でもわかるC言語2

十一日目 構造体と関数

「わかりやすく!」がテーマです!

HOME/小学生でもわかるC言語2 目次/十一日目 構造体と関数/

広告

↓2016年02月29日発売↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

新品価格
¥2,462から
(2016/5/10 22:16時点)

もっと!C、C++言語本

目次へ戻る

?と思ったら

わからなそうな用語集

構造体と関数

今回は他の関数にデータを渡すやり方を見ていきましょう!

1つのデータ

まずは1つのデータだけ渡してみます!

/*プログラム37*/
#include <stdio.h>

struct DENWABOOK{
	char *name;
	char *tel;
};

void func(char *);

int main(){
	struct DENWABOOK no1;

	no1.name = "鈴木一郎";
	no1.tel = "09011111111";

	func(no1.name);
	
	return 0;
}

void func(char *no1){
	printf("お名前:%s\n",no1);
}

■実行結果■

実行結果(e-11-1)

「struct DENWABOOK」の「*name」だけ渡してみました!

「*name」はポインタ変数になるので、頭に「*」アスタリスクが必要ですね!

void func(char *);

プロトタイプ宣言です。

そして「int main()」の中で関数に「*name」を渡します!

func(no1.name);

シンプルにそのまま渡すだけです。

構造体変数(こうぞうたいへんすう)

無事に他の関数に内容を渡す事ができましたが、1つ1つ渡していたのでは構造体の意味があまりない気がしますよね。

ここまで言えば想像つくとは思いますが、セットで一つの変数なので、セットのまま内容を他の関数に渡せるのです!

普通の変数の場合、プロトタイプ宣言で

void func(int );

変数の種類だけ入れてその後に

void func(int suji);

変数名を決めるのでした。

これで「int suji」が関数「func」に渡されましたね!

では構造体の場合を見てみましょう!

まずはプロトタイプ宣言ですね。

変数の種類を入れるので、

void func(struct DENWABOOK );

前回しつこいぐらいに言いましたが、「struct DENWABOOK」までが変数の種類です。

その後同じく

void func(struct DENWABOOK no1);

変数名を決めれば!構造体まるごと渡す事ができます!

まるごと渡す

では先ほどのプログラムを少しいじって今度は構造体まるごと他の関数に渡してみます。

/*プログラム38*/
#include <stdio.h>

struct DENWABOOK{
	char *name;
	char *tel;
};

void func(struct DENWABOOK );

int main(){
	struct DENWABOOK no1;

	no1.name = "鈴木一郎";
	no1.tel = "09011111111";

	func(no1);

	return 0;
}

void func(struct DENWABOOK no1){
	printf("お名前:%s 電話番号:%s\n",no1.name,no1.tel);
}

■実行結果■

実行結果(e-11-2)

まるごと渡す事ができました。これができればスゴイ便利ですね!

では続けて他の変数から受け取る場合を見てみましょう!

まるごと受け取る

では今度はまるごと受け取ってみましょう。

/*プログラム39*/
#include <stdio.h>

struct DENWABOOK{
	char *name;
	char *tel;
};

struct DENWABOOK func(void);

int main(){
	struct DENWABOOK no1;

	no1 = func();

	printf("お名前:%s 電話番号:%s\n",no1.name,no1.tel);

	return 0;
}

struct DENWABOOK func(){
	struct DENWABOOK no1;
	
	no1.name = "田中二郎";
	no1.tel = "09022222222";

	return no1;
}

■実行結果■

実行結果(e-11-2)

どうやらまるごと受け取る事ができたみたいです!

構造体は何度も言うように

変数の種類「struct DENWABOOK」

変数名「no1」

ここをきちんと区別できれば、大丈夫だと思います!

次回は構造体とポインタについて見ていきましょう!

次回

十二日目 構造体とポインタ

□ページの先頭へ□

□目次へ戻る□

広告

↓2014年06月20日発売↓

14歳からはじめるC言語わくわくゲームプログラミング教室 Visual Studio 2013編

新品価格
¥2,500から
(2016/5/10 22:17時点)

↓2014年10月25日発売↓

超本格! サンプルで覚えるC言語 3Dゲームプログラミング教室

新品価格
¥3,110から
(2016/5/10 22:18時点)

↓2013年07月25日発売↓

小学生からはじめるわくわくプログラミング

新品価格
¥2,052から
(2016/5/10 22:21時点)

↓2016年05月13日発売↓

小学生からはじめるわくわくプログラミング2

新品価格
¥2,052から
(2016/5/10 22:22時点)

もっと!C、C++言語本