- 1 名前:デフォルトの名無しさん [2012/01/13(金) 22:05:06.14 ]
- C言語の*入門者*向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 94 toro.2ch.net/test/read.cgi/tech/1324648274/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 155代目 toro.2ch.net/test/read.cgi/tech/1325685876/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
- 51 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 11:35:48.32 ]
- 何を何にコピーすることを言ってるのか?
区切り文字が'\'というのは例として挙げただけ?
- 52 名前:o mailto:sage [2012/01/15(日) 11:38:53.01 ]
- >>49
コーディング規約により、グローバル宣言ができないんですヨ ・局所的にしか利用されず ・他スレッドからの参照に問題あり ・アクセスコントロールに関与する ・マルチスレッド対応の場合 などなど。
- 53 名前:o mailto:sage [2012/01/15(日) 11:39:23.14 ]
- >>51
そ。 \r\n = ¥ としただけ
- 54 名前:デフォルトの名無しさん [2012/01/15(日) 12:12:25.05 ]
- 仕事上のコーディング方法を2chで質問かよwww
- 55 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:26:55.36 ]
- みんなすげーな
オレには何を言いたいのか全然分からん
- 56 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:28:45.50 ]
- 民主党が惨敗した参院選直前の政党支持率(2010年7月11日投票)
FNN 2010年7月4日 民主党 29.9% 自民党 16.3% ttp://sankei.jp.msn.com/politics/policy/100706/plc1007060530003-n1.htm ttp://www.fnn-news.com/archives/yoron/inquiry100705.html マスコミに、ダマされるなよ。
- 57 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:30:22.44 ]
- この子の関わったソフトが載った製品は買いたくないと思ってしまうな
@>何を何にコピーすることを言ってるのか? への回答は? A「しかるべき領域」はスタック上?ヒープ上?それ以外?スタック上ならほぼコピーするしかない B「しかるべき領域」は書き換えてもよい?書き換えたらダメなのであればさらにコピーするしかない
- 58 名前:o mailto:sage [2012/01/15(日) 12:30:27.97 ]
- >>54
チートツールなんだが、なぜに仕事だと思うのかなぁwww
- 59 名前:o mailto:sage [2012/01/15(日) 12:34:36.28 ]
- >>57
>この子の関わったソフトが載った製品は買いたくないと思ってしまうな 売り出されたら驚いちゃうんちゃう? >@>何を何にコピーすることを言ってるのか? への回答は? 機種依存文字はどうかと思うけど。 コピーと言われたから、それを使っただけ。 >A「しかるべき領域」はスタック上?ヒープ上?それ以外?スタック上ならほぼコピーするしかない スタック上。 main関数のスタックに積んでいればOKでしょ? 違うの??? >B「しかるべき領域」は書き換えてもよい?書き換えたらダメなのであればさらにコピーするしかない 書き換えても良いの意味が分からん。 書き換えたらダメってことは、参照もダメってこと??? 意味が不明です。
- 60 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:35:48.48 ]
- >>59
お前が意味不明だな。 手繰るの面倒だからここでもう一度整理して新規に質問しなおせ。
- 61 名前:o mailto:sage [2012/01/15(日) 12:50:30.70 ]
- >>60
君のおかげで整理できたよ。 聞きたい内容は、 呼び出し先の呼び出し先から、大元のスタックにある文字列を直接変更できるか? ってこったな。 孫関数には、ポインタのポインタなら渡せる、と言う条件でな。
- 62 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:52:31.54 ]
- >>61
その質問の答えは、できる、だ。
- 63 名前:o mailto:sage [2012/01/15(日) 12:53:35.05 ]
- 細かい条件を列挙する。
・データはストリームで落とされる。 ・孫関数にはポインタのポインタが渡される ・文字列の長さは不定長 ・区切り文字がある文字列 ・ストリームは、孫関数で処理される この条件で親のスタックに詰まれた文字列を孫から操作できるかどうか? んだな。
- 64 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:54:05.71 ]
- ちゃんと質問できるようになるまで何年もかかりそうだな
義務教育の間何やってたんだか
- 65 名前:o mailto:sage [2012/01/15(日) 12:55:10.92 ]
- おっと。
追加があった ・データはストリームで落とされる。 ・孫関数にはポインタのポインタが渡される ・文字列の長さは不定長 ・区切り文字がある文字列 ・ストリームは、孫関数で処理される ・staticは使えない
- 66 名前:o mailto:sage [2012/01/15(日) 12:56:52.04 ]
- >>64
まあ、そんなことより、 >>52が仕事上のタスクだと思う方が驚きだけど。 指示されないと何もできないんかなぁ。 もしくは何でもグローバル宣言すりゃいいと思っているのかなぁ。 普通に個人のコーディング規約に含まれる常識的な内容だと思っていたんだが、これも違うのか?
- 67 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:00:25.15 ]
- >>66
>>65 を読む限りお前の考えたものではないだろうし バカみたいな社内用語?で伝わると思ってるのがおかしい
- 68 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:00:50.73 ]
- >>65
わけのわからない条件は関係なく、元のスタック上の文字列のポインタが わかるなら当然できるだろ。 なんでできないとか思うんだろ。 ちなみに、スタックとかストリームとか、Cには関係ないから。
- 69 名前:o mailto:sage [2012/01/15(日) 13:12:04.29 ]
- >>68
ストリームデータは軽く64kを超えるんだが、 mainで char streamData[131072] とか宣言しちゃうの? スマートじゃない気がするけどw 後々func1がスレッドで動くようになるんだし、mainがdllmainになるんだが、 どう見てもそりゃスマートとは言いがたいと思うんだけど、どうだろうか?
- 70 名前:o mailto:sage [2012/01/15(日) 13:13:45.46 ]
- >>67
こちとら、素人だし、 チートツールの作成を企業が許可するとも思えんし、 >普通に個人のコーディング規約に含まれる常識的な内容 だと思うんだけど、違うのか?
- 71 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:16:07.60 ]
- 整理して質問しろと言っただろ。
> 呼び出し先の呼び出し先から、大元のスタックにある文字列を直接変更できるか? できる。 もう一度だけチャンスをやる。 整理して1レスで質問しろ。
- 72 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:16:59.99 ]
- >>61できたよcodepad.org/Q33HWUEa
- 73 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:18:36.84 ]
- >>70
チートツール作るなんてことを言ってるバカに協力しねーよ
- 74 名前:o mailto:sage [2012/01/15(日) 13:19:03.47 ]
- >>71
>できる。 こういうことだろ? >>69
- 75 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:20:06.56 ]
- どういうことだよ。
お前、頭腐ってるわ。
- 76 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:21:02.62 ]
- o君の考えるスタックとは何を指しているのかね?
- 77 名前:o mailto:sage [2012/01/15(日) 13:21:07.96 ]
- >>72
f2を実行しないと、str[]の大きさが分からないんだけど、それでも大丈夫ってこと? 少なくとも512byteは確実に超えるんだけど。
- 78 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:22:09.28 ]
- ここまで日本語が通じないのも珍しいな。
いや、そうでもないか。
- 79 名前:o mailto:sage [2012/01/15(日) 13:22:30.21 ]
- >>75
>>69以外に方法があるなら、丁重に謝るよ。
- 80 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:24:14.16 ]
- >>79
お前の思い込みなんて人にはわからないんだよ。 だからお前のことを何も知らない普通の人間にわかるように整理して 1レスにまとめて質問してみろよ。
- 81 名前:o mailto:sage [2012/01/15(日) 13:24:59.66 ]
- >>76
関数が呼び出されたことにより確保される、SP、ReturnAddressと自動変数のかまたり
- 82 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:26:10.30 ]
- スタックのサイズが心配ならスタックを拡張するなりヒープを使うなり
すればいいだけだろ。
- 83 名前:o mailto:sage [2012/01/15(日) 13:27:07.83 ]
- >>80
あいよ。 聞きたい内容は、 呼び出し先の呼び出し先から、大元のスタックにある文字列を直接変更できるか? 条件は次の通り ・データはストリームで落とされる。 ・孫関数にはポインタのポインタが渡される ・文字列の長さは不定長 ・区切り文字がある文字列 ・ストリームは、孫関数で処理される ・staticは使えない
- 84 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:28:38.77 ]
- だから、ストリームて何だよ。
思い込みハゲしいなまったく。
- 85 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:29:17.88 ]
- 文字列を直接変更できるかどうかに長さや区切り文字は関係ないだろ。
- 86 名前:o mailto:sage [2012/01/15(日) 13:31:05.93 ]
- >>84
不定長のデータ、でよいよ。
- 87 名前:o mailto:sage [2012/01/15(日) 13:32:15.62 ]
- >>85
>>72のコードで、512byteのデータをどうやって変更するの?
- 88 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:33:29.91 ]
- またか。
その512byteのデータと>>72がどう関係するんだよ。
- 89 名前:o mailto:sage [2012/01/15(日) 13:36:36.09 ]
- >>88
void f2(char* str){ str[500]='\r'; str[501]='\n'; } ができるんだったら、何も言わんよ
- 90 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:37:19.50 ]
- >>89
じゃぁ何も言うな。
- 91 名前:o mailto:sage [2012/01/15(日) 13:38:41.03 ]
- ああ、
void f2(char* str){ str[131070]='\r'; str[131071]='\n'; } ができるんだったら何も言わんよwww
- 92 名前:o mailto:sage [2012/01/15(日) 13:38:58.70 ]
- >>90
エラーが出るんですけどwww
- 93 名前:o mailto:sage [2012/01/15(日) 13:40:11.55 ]
- そりゃそうだわな。
str[10] と宣言しているのに、 str[131070]にアクセスしているんだもんね。 >>90は、そんなことも分からないの?
- 94 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:42:43.17 ]
- 何も言うなと言ってるだろ。
- 95 名前:o mailto:sage [2012/01/15(日) 13:47:33.40 ]
- >>94
君は、回答する前に、こっちを読んで勉強した方が良いと思うよ。 www.kumei.ne.jp/c_lang/intro/no_07.htm 宣言した数より大きな領域にアクセスさせるのは危険だよ。 書き込みなんかしたら、スタック壊しちゃうからね。 気をつけたほうが良いよ。
- 96 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:48:48.34 ]
- また、えらく拗らせちゃってるんだね。
スタックのサイズが心配なら512KBをヒープに確保してそれを渡せばいいだけだろ。 まわりの人も大変だろうな。
- 97 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:49:32.86 ]
- 無能な働き者ってこの質問主の様な奴の事なんだろうな。
- 98 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:50:59.22 ]
- >>95
>宣言した数より大きな領域にアクセスさせるのは危険だよ。 常識で分かることは言う必要がない。
- 99 名前:デフォルトの名無しさん [2012/01/15(日) 13:53:40.36 ]
- 無能な働き者。これは処刑するしかない。
- 100 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:56:50.88 ]
- ちょっとよくわからないのが
大元がmainだとして 「大元のスタックにある文字列」って >mainで >char streamData[131072] 以外にどうやって定義するの?
- 101 名前:o mailto:sage [2012/01/15(日) 13:56:56.89 ]
- >>96
ヒープに確保する方法は否定していないよ。
- 102 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:59:35.77 ]
- >>100
質問もできないくらいのレベルなんだから察してやれ。
- 103 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:00:57.52 ]
- >>100
allocaで確保するとかw
- 104 名前:o mailto:sage [2012/01/15(日) 14:04:12.54 ]
- >>103
良いね!
- 105 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:07:11.53 ]
- どこまでアホ?
alloca使ったところでスタックは拡張されない。 って、まぁ釣りだろうけどw
- 106 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:07:51.54 ]
- >>95
ストリームとやらの範囲内ならいくらでもアクセスできるでしょ。 例は10だったけど、そのストリームはもっと大きいんでしょ
- 107 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:08:49.44 ]
- >>104
allocaってスタックだよ。 ってかヒープを避ける理由がわからない。
- 108 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:10:33.82 ]
- char streamData[131072]
でも char *streamData = (char*)alloca(131072); でもいいけど、 結局>>72で問題なくね? allocaってのは初めて知ったわ
- 109 名前:o mailto:sage [2012/01/15(日) 14:12:26.25 ]
- >>107
直近の問題は、何時freeするのかが不定なことだけど、 本質的には、スレッドで動かしたいから、別スレッドからのアクセスをさせないために自動変数での処理をさせたい と言うのが本音。
- 110 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:13:45.65 ]
- スタックはスレッドで共通だが。
- 111 名前:o mailto:sage [2012/01/15(日) 14:14:14.13 ]
- >>108
どこからスレッドとして走らせるかだけど、 スレッドが100走ると末恐ろしい
- 112 名前:o mailto:sage [2012/01/15(日) 14:14:31.03 ]
- >>110
なの????
- 113 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:14:33.82 ]
- 別スレッドからのアクセス性についてな。
- 114 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:16:58.71 ]
- その点ではヒープもスタックも同じ。
普通、mallocもfreeもスレッドセーフだろ。
- 115 名前:o mailto:sage [2012/01/15(日) 14:17:20.97 ]
- >>113
だったら、ストリームデータを、他のスレッドが書き換えるって事が可能というか、 別のスレッドがストリームデータを壊すんだよね。 それじゃ、NGじゃね?
- 116 名前:o mailto:sage [2012/01/15(日) 14:17:48.14 ]
- >>114
だから、自動変数で、と・・・・
- 117 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:18:24.71 ]
- 最初に立ち戻るんだけど、ストリームは別スレッドから変更されうるんじゃないのかって気がするんだけど。
もしそうならポインタ保持じゃだめだけど、それは大丈夫? で、そのストリームが読み取り専用じゃないかつ、デリミタのような0バイトよりも大きな文字列があるのなら、strtokの要領で対応できないか?
- 118 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:18:55.57 ]
- >>116
自動変数=スタックと仮定すると>>114だと言ってるだろ。
- 119 名前:o mailto:sage [2012/01/15(日) 14:19:40.12 ]
- >>114
すまん、間違えた。 ヒープでもスレッドセーフなのか? ちょいと調べてみる
- 120 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:20:01.08 ]
- >>115
ポインタの先が別スレッドが確保したスタック領域ならそこを壊す。 つか、それはバグと言うんだがな。
- 121 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:20:52.74 ]
- >>119
お前はスレッドセーフという単語を理解してないに3億ペリカ。 いや、スレッドも理解してないに10億カノッサ。
- 122 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:21:39.04 ]
- 「ヒープでもスレッドセーフなのか?」
これなんぞ。 根本的な知識が圧倒的に足りないといわざるを得ない。 チートツールの前に初心者としてまっとうに勉強しなさいな。
- 123 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:25:52.76 ]
- mallocがスレッドセーフか? というのならそれはライブラリ次第。
- 124 名前:o mailto:sage [2012/01/15(日) 14:26:40.81 ]
- >>122
ヒープがスレッドセーフなんて聞いたことがない。 ライブラリが対応してスレッドセーフにしているケースなら知っているけど??? 君の知っているのはどんなシステム系なんだ?
- 125 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:26:48.56 ]
- だから普通と言ってるだろ。
スレッド使う環境でスレッドセーフじゃない設定をわざわざ使わない限りな。
- 126 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:27:16.83 ]
- >>125は>>123な。
>>124 3億カノッサよこせ。
- 127 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:28:51.62 ]
- >>124
関数がリエントラント可能かどうかについてその言葉を使うのであって、スタックやヒープに対して使うもんじゃないよ
- 128 名前:o mailto:sage [2012/01/15(日) 14:29:42.29 ]
- どう見ても、
>>122がダブルパンチ食らっているようにしか見えないけど?
- 129 名前:123 mailto:sage [2012/01/15(日) 14:30:33.99 ]
- >>125
まったくそのとおりだ。ちょっと上のスレもよまんで書いてしまった^^;
- 130 名前:デフォルトの名無しさん [2012/01/15(日) 14:30:34.75 ]
- すごいなぁ、お前。
- 131 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:30:53.25 ]
- もちろん、>>130は>>128な。
- 132 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:31:21.48 ]
- なんだこれ。恥ずかしくなって暴れ始めたのか
- 133 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:33:56.98 ]
- >>132
いや、多分素だと思うぞ。
- 134 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:33:59.84 ]
- >>124
もしかして「ヒープ領域からメモリを確保すること」の略として「ヒープ」っていってんの?
- 135 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:39:16.96 ]
- …静かになったぞ。何かを調べてんのか?
- 136 名前:o mailto:sage [2012/01/15(日) 14:41:13.91 ]
- >>133
素だよ。素人だっちゅってんだろ。 ちなみに、>>135 うんこ位させろよ。
- 137 名前:o mailto:sage [2012/01/15(日) 14:44:26.42 ]
- で、
>>52 って >普通に個人のコーディング規約に含まれる常識的な内容 だと思うんだけど、違うのか?
- 138 名前:o mailto:sage [2012/01/15(日) 14:45:49.46 ]
- >>134
その、 「ヒープ領域からメモリを確保すること」 の意味が分からんけど?
- 139 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:48:24.79 ]
- 素かよ。もっとやりたいことを具体的に示せ。
大体わかってるつもりでレスをしているんだが、訳わからんほうに話をずらされてる感じがする。 あと、>>127は大体あってるけど少し違う。 リエントラント可能であることはスレッドセーフであることを保障するが、逆はそうではない。
- 140 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:49:18.43 ]
- >>136
素。 ほんと、日本語も不自由なんだな。 恥ずかしくて素人じゃないって言えないだけじゃないのか?
- 141 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:52:26.93 ]
- >>138
それをわからずにヒープだスタックだ、あまつさえ「ヒープでもスレッドセーフなのか?」なんてことを言うのか。 逆に「スタックはスレッドセーフ」だと思っているってことだと思うんだけど、これがどういうことなのか説明してくれ。
- 142 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:52:32.31 ]
- >>139
そう思ってはじめたのが>>80なんだが。
- 143 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:53:39.55 ]
- 違うな。>>71だ。
- 144 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:54:09.40 ]
- お?>>60じゃないのか?
- 145 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:54:17.21 ]
- >>137
>グローバル宣言ができない 個人の開発で完全に禁止する利点があまりない。 グローバル変数をできるだけしないってのはまあ誰でも考える。 個人でコーディング規約を決めていたとして、 それに違反することを「コーディング規約により・・できない」って言い方をする人はあまりいない。 俺の方針に反するだとか、好みじゃないとか、そのレベルでしょ。
- 146 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:55:24.44 ]
- 素人じゃないことを隠したい素人さん。
- 147 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:55:33.69 ]
- 俺も文書がおかしいなw
×グローバル変数をできるだけしない ○グローバル変数をできるだけ使わない
- 148 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:57:21.78 ]
- >>142
>>8と>>83でエスパー大会ってことか… 加えて、>>115でストリームデータ(mainのstrか?)は別スレッドから変更されうる、と。 ストリームデータを変更されたあとでも使用したいのなら、 strへのアクセス処理を「スレッドセーフ」にして、 別領域(要件を満たせるならスタックでもヒープでも)にコピーするしか方法はないよな。
- 149 名前:o mailto:sage [2012/01/15(日) 14:57:25.09 ]
- >>141
スレッドに詰まれたスタックならスレッドセーフだろ。
- 150 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:59:49.89 ]
- >>149
すべてのスレッドはメモリ空間を共有する。 基本だ。
- 151 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:00:31.29 ]
- 「スレッドに詰まれたスタック」って、何?
|

|