引数の記述

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

引数の記述

#1

投稿記事 by kazuoni » 17年前

お邪魔します。以下のコードについてなんですが、
void draw_state_left_graph(const char *naming[①] , int selection_number){//ステータスメニュー画面左側
	int i;
	for(i=0;i<=(selection_number-1);i++){
	if(state_menu_font_flag==(i-1) && state_which_flag==0)
		DrawStringToHandle( 19 , (27+(i*45)) , naming , GetColor(150,2,2) , state_menu_font );
	else
		DrawStringToHandle( 19 , (27+(i*45)) , naming , GetColor(0,0,0) , state_menu_font );
	}
}

~関数の目的~
state_menu_font_flagと一致するchar型へのポインタの配列の文字列の色とそれ以外の文字列の色を分け、記述することを目的としています。例えば、
const char *selection_names[6]={"アイテム" , "装備" , "魔法" , "ステータス" , "セーブ" , "ゲーム終了"}
state_menu_font_flag=3
state_which_flag=0

の条件のとき、
draw_state_left_graph(selection_names[6] , 6)

この結果は魔法は色つき、それ以外は黒字で順に縦に表示されるようにしたいのです。
int selection_numberは*selection_names
の要素の数と一致します。

そこで質問なんですが、
draw_state_left_graph
のカッコの中の
const char *naming[①]
には何と記述したらよいのでしょうか?またこの関数のプロトタイプ宣言の記述はどうしたらよいでしょうか?[int~]と書くとエラーになってしまいます。

よろしくお願いします。

box

Re:引数の記述

#2

投稿記事 by box » 17年前

こんなサンプルコードを動かして体感してみてください。


#include <stdio.h>

void draw_state_left_graph(const char **naming, int selection_number);

int main(void)
{
	const char *selection_names[/url] = {
		"アイテム" , "装備" , "魔法" , "ステータス" , "セーブ" , "ゲーム終了"
	};
	int i;
	
	for (i = 0; i < sizeof(selection_names) / sizeof(selection_names[0]); i++) {
		draw_state_left_graph(selection_names, i);
	}
	return 0;
}

void draw_state_left_graph(const char **naming, int selection_number)
{
	printf("%s\n", naming[selection_numbe[/url]);
}

kazuoni

Re:引数の記述

#3

投稿記事 by kazuoni » 17年前

boxさんご回答ありがとうございます!!
ポインタのポインタですかっ^^;うーん・・・分かっていないところがどんどん出てきますね(汗)
とりあえずうまくいきました^^
今からググりに行ってきますww

ありがとうございました!またよろしくお願いします。

閉鎖

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