質問編集履歴

1

plistを win_listに修正

2016/02/17 04:40

投稿

norm
norm

スコア21

test CHANGED
File without changes
test CHANGED
@@ -66,11 +66,13 @@
66
66
 
67
67
 
68
68
 
69
- plist[0][0] = &list1[0];
69
+ /* 間違いがありましたので修正しました 2/17 */
70
70
 
71
- plist[1][0] = &list2[0];
71
+ win_list[0][0] = &list1[0];
72
72
 
73
+ win_list[1][0] = &list2[0];
74
+
73
- plist[1][1] = &list2[1];
75
+ win_list[1][1] = &list2[1];
74
76
 
75
77
 
76
78
 
@@ -89,3 +91,47 @@
89
91
 
90
92
 
91
93
  ご回答のほど、よろしくお願いいたします。
94
+
95
+
96
+
97
+ 2/17 kozuchiさんご指摘により以前のコードを修正しました。plistはこちらで実験をしていた時の配列名でしたのでwin_listに変更しました。
98
+
99
+ list1とlist2は受取り先の**win_listがポインタを2つ使用していたため、
100
+
101
+ ポインタのポインタを指摘するよう、一度list1とlist2でポインタの文字列を作成した後に、**win_listの配列へそれらを入れたイメージです。
102
+
103
+
104
+
105
+ また、Chironianさんの回答を参考にして、自作した方の関数を修正し、受取った先での関数が動作することを確認することができました。
106
+
107
+
108
+
109
+ #include <stdio.h>
110
+
111
+
112
+
113
+ check_winning_lot(char **win_list[]){
114
+
115
+ printf("win_list[0][0] = %s \n", win_list[0][0]);
116
+
117
+ printf("win_list[1][0] = %s \n", win_list[1][0]);
118
+
119
+ printf("win_list[1][1] = %s \n", win_list[1][1]);
120
+
121
+ }
122
+
123
+
124
+
125
+ void main(){
126
+
127
+ char *list1[] = { "123456", NULL };
128
+
129
+ char *list2[] = { "102030", "987654" , NULL };
130
+
131
+ char **win_list[] = { list1, list2 };
132
+
133
+
134
+
135
+ check_winning_lot(win_list);
136
+
137
+ }