1 名前:デフォルトの名無しさん [2012/07/15(日) 10:28:33.18 ] C言語の入門者向け解説スレッドです。 ★前スレ C言語なら俺に聞け(入門編)Part 103 toro.2ch.net/test/read.cgi/tech/1341059858/ ★過去スレ 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++の宿題片付けます 158代目 toro.2ch.net/test/read.cgi/tech/1339338438/ ★C++言語については避けてください。C++対応明記スレへどうぞ。 ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。 # サイズが大きい場合はアップローダ等を利用してください。 codepad.org/ ideone.com/ ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
147 名前:デフォルトの名無しさん [2012/07/23(月) 23:04:27.30 ] PICマイコンを使用するためにC言語を勉強中です。 どうしてもプログラム中に、EEPROMへの読み書きを多用するので int型とlong型用の2つの値をEEPROMから読み込み、int型long型のそれぞれの変数へ代入する関数を作ったのですが、ポインタの使い方がよくわかりません hiとかloというのは2バイト以上の変数を1バイト単位に分割するために使用する”built_in.h”というヘッダファイル用の語句です このコードの何がダメなのかも分らないのでご教授ください よろしくお願いします void main() { int x; long y; read2byte(100,&x); read4byte(200,&y); } void read2byte(int a,int *b) { hi(*b) = EEPROM_Read(a); lo(*b) = EEPROM_Read(a+1); } void read4byte(int a,long *b) { highest(*b) = EEPROM_Read(a); higher(*b) = EEPROM_Read(a+1); hi(*b) = EEPROM_Read(a+2); lo(*b) = EEPROM_Read(a+3); }
148 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:10:09.88 ] >>147 バイトオーダーが違うかもしれない くらいしか分からん
149 名前:147 [2012/07/23(月) 23:11:54.31 ] 書き忘れました EEPROM_Read(a); というのはコンパイラ付属の関数で、aがEEPROMのメモリアドレスです
150 名前:>>142 mailto:sage [2012/07/23(月) 23:14:59.54 ] >>146 そもそもこのプログラムって何をしているものなのでしょうか....? ソート? あと、for文の上の addlist(head, &addate)というのは何なのですか?
151 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/07/23(月) 23:18:05.21 ] hi,loの定義をさらせ。 hi(*b)は左辺値ではないから代入できないと思われ
152 名前:147 [2012/07/23(月) 23:23:18.80 ] >>151 2バイト以上の値、例えばlong型(4バイト)を低いビットからlo,hi,higher,highestとバイト単位に分割するものです
153 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:26:02.62 ] >>150 うんにゃ わたされた head から末尾を探し出して、その末端にさらに 渡された adddata を繋げてる name0〜name4 までのリストを手で構築後 adddata 関数を呼び出してる 意図として name0〜name4 の後ろに adddata を連結しようとしてる と俺は解釈した
154 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:29:09.93 ] × adddata 関数を呼び出してる ○ addlist 関数を呼び出してる
155 名前:>>142 mailto:sage [2012/07/23(月) 23:30:02.40 ] >>153 ご丁寧にありがとうございます このプログラムはAがname0に入るわけでは無いんですか?? addataがname4の後に連結した時、whileが初めて回りだしてAが先頭に来るって事ですか? やばい日本語おかしくてスミマセン
156 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:36:07.74 ] printf() の出力結果は BCDEA の予定 ABCDE にしたいのなら void addlist(LIST *head,LIST *addata) { LIST *p = head->next; head->next = addata->next; addata->next = p; }
157 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:36:41.10 ] >>142 厳しいようだけど、 明日試験で、過去問で解答が分からない。ってのは 解答を教えても、明日の試験では違う問題がでるから意味が無いのでは? 解き方が分かっていないんだから。 このプログラムは、addlistが不明なのだが、明示されてるのだから、 そこを理解する所から、入るべき。 (まさしく >>150 の疑問を理解できる様になる事が大事) それから、足りない部分(addlistの中身)を考える。
158 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:37:14.59 ] × head->next = addata->next; ○ head->next = addata; なんかヒデェな… もう寝る
159 名前:157 mailto:sage [2012/07/23(月) 23:39:14.48 ] >このプログラムは、addlistが不明なのだが、明示されてるのだから、そこを理解する所から、入るべき。 まつがい。 このプログラムは、addlistが不明なのだが、明示されている所を理解する所から入るべき
160 名前:>>142 mailto:sage [2012/07/23(月) 23:40:52.16 ] レス下さった皆さんありがとうございます そもそも一晩(ではないんですけども)でやろうとした自分が悪いですね... 少し前の方から再度勉強しなおしてきます... ありがとうございました!
161 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/07/23(月) 23:41:19.46 ] *b = ((int)EEPROM_Read(a) << 8) | (int)EEPROM_Read(a+1); や *b = ((long)EEPROM_Read(a) << 24) | ((long)EEPROM_Read(a+1) << 16) | ((long)EEPROM_Read(a+2) << 8) | (long)EEPROM_Read(a+3); みたいに書かないといけない。
162 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 23:47:27.06 ] >>147 君はまだEEPROMを使うべきではない(きり)
163 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/07/23(月) 23:58:54.84 ] 共用体を使う方法もある。 union I16{int i; struct {unsigned char LO,HI;}}; union I32{long l;struct {I16 LO,HI;} };
164 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/07/24(火) 00:14:51.03 ] 久しぶりにCやったら;とunionをつけ忘れたよ
165 名前:147 [2012/07/24(火) 00:26:01.62 ] >>161 レスありがとうございます。 その式と、下記の式だと自分には同じ動作だと思ってしまうのですが 何がどう違うのでしょうか?本当にわからないです>< void read4byte(int a,long *b) { highest(*b) = EEPROM_Read(a); higher(*b) = EEPROM_Read(a+1); hi(*b) = EEPROM_Read(a+2); lo(*b) = EEPROM_Read(a+3); }
166 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 00:29:04.57 ] >>165 hi とか lo がどんなものか分からないからこうしようぜ void read4byte(int a, long *b) { unsigned char *p; p=(unsigned char*)b; *(p+0)=EEPROM_Read(a+0); *(p+1)=EEPROM_Read(a+1); *(p+2)=EEPROM_Read(a+2); *(p+3)=EEPROM_Read(a+3); }
167 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/07/24(火) 00:33:47.87 ] >>165 恐らくhiマクロなどは内部でシフト演算を使っているので hi(*b)などは参照がなくなって左辺値になれないから代入対象になれない。ただそれだけ。
168 名前:147 [2012/07/24(火) 00:39:29.70 ] >>166 レスありがとうございます。 実は、>>165 で書いた式と、>>161 さんの書いた式で問題なく読み込みができたのですが、 PICマイコンのスレで同じような質問をしたところ、ポインタの使い方?がおかしいと指摘されて ここで質問させて頂きました。 一番気になるのはポインタの使い方の間違いと間違っているために起こり得る問題です。 long型(適当な値 99,999とか2,222,222)を一旦、EEPROMに書き込み、上記の式で読み込ませたところ 正常に読み込まれているので何が何だかさっぱりわかりません~~;
169 名前:147 [2012/07/24(火) 00:44:24.25 ] >>167 レスありがとうございます。 実は、>>168 で書いたよう、に教えて下さった式も自分で書いた式も問題なく読み込みできています。 本当に何がダメなのか、本当はダメではないのか分らず、困りましたorz
170 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/07/24(火) 01:00:20.84 ] ファイルbuilt_in.hを開いて中身を確認しなさい。 そこにhi,loの定義があると思われます。 それらをさらして下さい。
171 名前:147 [2012/07/24(火) 01:04:28.32 ] >>170 了解しました。下に晒します。 話変わりますが、例のコードはポインタの使い方って間違っていますかね? そこが気になります。 #define Lo(param) ((char *)¶m)[0] #define Hi(param) ((char *)¶m)[1] #define Higher(param) ((char *)¶m)[2] #define Highest(param) ((char *)¶m)[3] #define lo(param) ((char *)¶m)[0] #define hi(param) ((char *)¶m)[1] #define higher(param) ((char *)¶m)[2] #define highest(param) ((char *)¶m)[3]
172 名前:147 [2012/07/24(火) 01:06:18.61 ] 文字化けしたので、&とparamの間にスペース入れました #define Lo(param) ((char *)& param)[0] #define Hi(param) ((char *)& param)[1] #define Higher(param) ((char *)& param)[2] #define Highest(param) ((char *)& param)[3] #define lo(param) ((char *)& param)[0] #define hi(param) ((char *)& param)[1] #define higher(param) ((char *)& param)[2] #define highest(param) ((char *)& param)[3]
173 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 01:06:47.16 ] >>171 >>147 のままで合ってるよ
174 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/07/24(火) 01:08:49.01 ] 検証の結果、問題なし。 シフト演算じゃなくて&とキャストを使ってた
175 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 01:10:37.95 ] hi, lo マクロは左辺値になれる形式だな > PICマイコンのスレで同じような質問をしたところ、ポインタの使い方?がおかしいと指摘されて その指摘は hi, lo を関数だと勘違いしての指摘かもしれんね
176 名前:147 [2012/07/24(火) 01:11:22.58 ] >>173 マジですか? PICもC言語も始めて数か月程度しか経っておらず、ポインタを覚えるためにも初めて使ってみたのですが PICマイコンスレで指摘され、どうしても自信がありません><
177 名前:147 [2012/07/24(火) 01:14:57.23 ] >>174-175 レスありがとうございます! キャストとかの語句はまったくわかりませんでしたのでもっと勉強しないとダメですね どうもありがとうございました!
178 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 07:52:56.12 ] いえいえ
179 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 11:01:09.22 ] 連結リストの質問チラホラ出るけど、ポインタで教えるor ポインタtoポインタで教えるのは教員の好みによるものなのかい?
180 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 11:06:40.17 ] リストで二重ポインタなんか使わんだろ
181 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 12:25:23.77 ] >>180 え?使わない? 二重ポインタを使わないとなると、コピーコピーコピー、とルートまで延々コピーする格好の悪いことになるのだが?
182 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 12:31:00.60 ] >>181 それが正解だよ コピーコストが嫌ならリストオブジェクト全体の参照を取ればいい ノードの参照は共有しないのが常識
183 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 12:46:33.76 ] free()しちゃうとダングリングポインタが出来てしまう危険があるからか
184 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 13:12:59.51 ] ttp://ideone.com/k4BZz ふつー二重ポインタ使うでしょ
185 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 13:29:10.43 ] 二重ポインタってポインタが指してる先を変更したい時に使うんじゃないのか? それかポインタ配列か 話は変わるけどこういうのはcがfree()されるとaもbもダングリングポインタになってしまうけど 検出されないのな 当たり前か 後からaやbを使いまわす可能性があるし int main(void) { int *a, *b, *c; c = (int *)malloc(sizeof(int)); if (c == NULL) exit(1); *c = 123; a = b = c; printf("%d %d %d\n", *a, *b, *c); free(c); return 0; }
186 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 13:29:14.80 ] 使わねーよ。 アホすぐる。
187 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 13:30:18.83 ] >>185 お前はまったく理解していない。
188 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 14:51:53.24 ] for(i=0; i< 空欄B (float) ; i++) printf("%02x", *p++); この空欄Bに入る単語を答えよという問題があるんですが キャスト演算子(float)を セミコロン直前におくような 表現が思い当たりません。(問題文全体はもっと長いです。)どのような表現が入りうるのでしょうか?
189 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 14:54:21.10 ] sizeof
190 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 15:06:43.27 ] あー、失念してました。ありがとうございます。 ついでに printf(" %-12g",f); の意味も教えていただけないでしょうか? 問題が紙なので %ー12じゃなくくて %ーL2 かもしれませんが
191 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 15:09:38.05 ] すいません%-12gのほうはもういいです
192 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 18:43:39.47 ] >>185 C に「検出」などというお子様仕様は皆無。
193 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 18:47:15.43 ] コンパイラによっては未使用変数や未初期化変数のアクセスは検出するがCの仕様ではないよな。
194 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 18:52:58.26 ] ひょっとしてinlineってCの仕様じゃない?
195 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 18:55:30.07 ] C99から。
196 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:16:30.67 ] ソフト会社でC99での開発って結構あるの?
197 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:17:28.88 ] まずない。
198 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:18:43.63 ] ですよねー
199 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:24:23.89 ] >>192 無職のオッサンに上から目線で言われたくないなあ
200 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:25:29.58 ] GCのアルゴリズムでも勉強したら?
201 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:39:57.16 ] Cでインラインしたいときはどうしてるの?
202 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:41:25.79 ] #define
203 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 20:49:42.06 ] >>182 よろしければもう少しお話しいただけるとありがたい。 二重ポインタあるいはポインタの参照は必要不可欠だと思うのですけれども、それで正しいということでしょうか? それともポインタのみで正、なのでしょうか? ideone.com/50Y4Z
204 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 20:50:19.64 ] >>199 であればそういう発言をしないことだ。
205 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 21:09:46.86 ] >>203 ルートノードを直接的にリストとみなさずに ルートノードを包むようなリストオブジェクトを書くんだよ ルートのアドレスがコロコロ変わったらリストを参照してる人が大変だろう
206 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 21:09:52.12 ] >>204 人のせいにすんな まず働け
207 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 21:11:37.90 ] >>205 相手にするな。
208 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 21:40:15.20 ] cmdにgccと打つと、{gcc: 致命的エラー:入力ファイルがありません RpC~オワオスB}とでるんだけど、だれか助けて(泣)
209 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 21:56:37.78 ] オワオスって何か\(^o^)/オワタみたい
210 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:17:32.84 ] >>208 ソースファイルを指定してないからじゃないの?
211 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:20:02.05 ] 使っている人間が致命的なまでのノウミソなんだろうな。 なんて打ったかくらい全部描けよアホ
212 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:24:49.58 ] >>203 C++で書くんならmallocじゃなくてnew使おうよ・・・ 必死で書いたのが伝わってきてキモス
213 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:25:22.19 ] 全部書いてるんだろ。
214 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 22:28:23.70 ] >>205 たしかにそれには同意します。 特にクラスに仕立てるときに、ルートを含むクラスとノードのクラスを一つにまとめようと苦心した記憶がありますが、 結局のところ、ルート(ファーストノードをさすポインタ)は、ノードクラスとは別にしたほうがいいと考えるようになりました。 codepad.org/jUqoMRPp (結城さんのJavaデザパタ本はadapterパターンを試行したものです。リストではなく二分木ではありますが、Node クラスはほとんど構造体扱いで Node クラスのメンバ関数は軒並みstaticの有様です。) ただしここで話題となっている、いや話題としたいのは、「リストや二分木を扱うときに、二重ポインタを使わずに書く、というのはあまり考えられないのでは?」という素朴な疑問です。
215 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 22:30:09.22 ] >>212 単にCで参照を使いたいという願望だけでざっと書き下ろしてみたのですが、あー、ぶれてますねえ、なんで cstdio を使わずに iostream にしちゃったんだろう?
216 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:37:28.68 ] リファレンスへのポインタなんて恐らく初めて使ってみたんだろうな
217 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:41:16.29 ] おい、おまえらQZに対する嫉妬がすぎるぞw
218 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:41:17.06 ] C++でいいのならstd::listとか使うだろ
219 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:45:05.48 ] >>214 二重ポインタを使う必要がない(実際、簡単に書ける) だからわざわざ間違いが起こりやすい二重ポインタを使うのは避けるべき
220 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 22:55:52.66 ] >>216 ではなくて、ポインタ変数のリファレンス。 昔いろいろやってみたことがありました。toro.2ch.net/test/read.cgi/tech/1277860967/504
221 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 22:57:37.23 ] >>219 うん、それが理解できないでいるのです。 リストは >>184 ににた形で(二重ポインタ抜きで)書けそうですが、二分木やAVL木では、二重ポインタなしではほとんど不可能では、と考えるのです。
222 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 05:11:34.41 ] ほんと、低脳ほど頭が固くて笑える。
223 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 05:34:23.01 ] >>217 自己愛性パーソナリティ障害が何を言うかw
224 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/25(水) 07:36:23.36 ] 書けるっていう奴が書いてみせればてっとりばやいんじゃね?
225 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 07:52:53.60 ] え?お前も書けないと思ってんの? コテやめた方がいんでね?
226 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 07:53:54.44 ] ↑池沼
227 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 08:10:24.87 ] >>226 自己紹介乙。 今時Cなんて書かないけど、リストなんてのも書かないけど、 書くとしたらこんなもんだろ。 ideone.com/3miZh
228 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 08:40:42.42 ] うむ、リスト使う位ならC++で書くからな。
229 名前:デフォルトの名無しさん [2012/07/25(水) 08:51:22.93 ] >>219 二重ポインタくらいで音を上げるど素人が「べき」なんて言うな、おこがましい
230 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 09:00:02.35 ] お前がな。
231 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 09:31:33.84 ] >>229 本物の低脳を久々に見た 229はガチでヤバイ
232 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 09:31:51.97 ] 元は教員がど素人に教えるときの話でしょ
233 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 10:28:33.93 ] スタンフォードの例だ cslibrary.stanford.edu/105/LinkedListProblems.pdf
234 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 11:26:23.77 ] 老害にはC++の良さがわからんのですよ
235 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 11:32:07.99 ] >>184 を見てみたが、要するにこれってリストの「先頭に」ノードを付け加えて行って、 先頭ノードを指すポインタの値がコロコロ変わるために、二重ポインタを使って 先頭ノードを指すポインタの値を書き換えてるんだよね リストの最後尾にノードを付加するようにすれば二重ポインタは不要
236 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 11:38:54.61 ] 挿入関数に渡したノードを指すポインタ以外がそのリストを参照していた場合参照先を見失う
237 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/25(水) 12:21:56.77 ] >>225 書けないということは事実上証明不能 (いわゆる悪魔の証明) なので、 この場合の証明責任は書けるという側にあるということを述べただけで俺は 内容についてどちらとも思ってないというか全く考察してない。
238 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 12:24:56.26 ] 普通なら考察以前の問題だからコテはずせって話なんだろ。
239 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 13:10:58.12 ] >>236 だよな だから先頭にノードを付け加えるのは特殊なケースを除けば百害あって一利なしのような気がする
240 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 13:19:05.19 ] 末尾追加は末尾を指すポインタの分メモリが必要、これが無いと遅くなる 先頭追加なら早くて、追加のメモリも要らないが、参照がコロコロ変化するのが面倒なのでリストをラップするオブジェクトが必要になり結局メモリ効率も前者と同じになる
241 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 13:50:20.40 ] なら双方向リストにしろよ メモリはたくさん食うけど先頭ノードからすぐに末尾ノードへのポインタを得る事が出来る だいたいリストをソートする時には単方向リストだと大変だぞ
242 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 19:43:53.07 ] >>227 >>184 , >>203 より機能を削ってますね。リストの頭にしかノードを追加できない。 >>184 , >>203 と同じようにリストの途中に挿入する形で、かつ二重ポインタを使用しない、というのは可能なんでしょうか。 双方向ならできるかな?
243 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 19:46:08.51 ] できる 以上
244 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 19:53:54.30 ] 以上 ↑ 詳細を議論できなくて逃げたいゴミがよく使う言葉
245 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 19:59:51.56 ] 逆になんで出来ないと思うのか疑問
246 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:08:27.46 ] >>245 横からだが、それは、さすがに 悪魔の証明を求めていると思う。
247 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:09:02.25 ] >>241 双方向でリング状? 先頭->prev = 末尾 末尾->next = 先頭
248 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:10:43.91 ] リングリストでggrks
249 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:15:15.39 ] 単方向・双方向と循環・非循環は別の設計思想じゃね?
250 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:16:43.45 ] >>246 悪魔の証明って言いたいだけだろ 普通にできるものを出来ないといいはるからなんでだよってなるのは当然 馬鹿な子供が掛け算が出来ないからってそれが計算不能なわけではないだろ 勉強してなんとかやろうとしてないだけだよ
251 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:22:39.12 ] 証明まではできなくとも困難さの示唆くらいはできる事も多々
252 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:35:35.90 ] >>250 うん。言いたかっただけw ただ、これは考え方の違いだからいいんだけど、 バカだと思った子に、「お前はバカだ」と言っても何も始まらないと思う。 その場合「君はこういう理由でバカだよ」と説明してあげた方がいいと思ってる。
253 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:38:54.11 ] バカな理由はログみれば? 散々書いてあるでしょ
254 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:42:00.05 ] >>252 バカには何を言っても無駄。このスレ見てればわかるだろ。 ideone.com/rEld8
255 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 21:15:44.00 ] >>247 双方向リストにするならリングリストにしないと意味が半分失われるよ 最初に作成したノードを指すポインタを保持しておく そしてもし最初に作成したノードを削除した場合、一つ前(つまり最後尾)か 一つ後ろを指すように書き換える
256 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 21:23:24.18 ] www.geocities.jp/ky_webid/algorithm/011.html www.ysr.net.it-chiba.ac.jp/data/list/node5.html こんな感じか そしてノードを削除していって一つもノードがなくなったらノードを指すポインタを NULLにするなどしておく 別に無理にリングリストにする必要もないけどしておくといろいろと便利
257 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 21:54:49.47 ] >>254 んー、各ノードを走査するときに、同時に前回の対象ノード=今回の親ノードを記憶しておくんですね。なるほど。 でも、これってリストだからできるやりかたで、二分木のときにはやる気はおきないなあ。 ああ、二分木を非再帰に構成する――上からノードをパチンコ玉よろしく落としていって、はまるところにはまる、っていうやりかたはありそうですね。 二重ポインタに固執していたんですが、いろいろあるんですね。ありがとうございました。
258 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 22:10:28.89 ] 何言ってんだお前。 >>184 と同じだろ。
259 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 22:13:15.37 ] みなさん、やっぱり自分の書いたコードが一番かわゆいのね、ふふふ
260 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 22:14:20.41 ] コテはずすなら一生はずしとけ。
261 名前:259 mailto:sage [2012/07/25(水) 22:22:51.53 ] ん?もしかしてQZさんだと思ってる? 残念ながら違います。。 運営さんにIPきいてみたら?
262 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 22:32:25.62 ] 早く薬飲んで寝てろ。 一生な。
263 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 22:32:46.57 ] >>258 え? >>184 は二重ポインタ pp をつかってループ変数を一つにおさえていますけれども、>>254 は挿入地点 p とその親 pPrev の両方をおさえてるでしょ。 p の親がない場合は pPrev = 0 にして、そのときの処理は場合わけにしたりとか。 なんだか二重ポインタ抜きだといろいろ面倒だなあ。 たぶんやらない、やりたくない。 >>259 できるだけいろいろみるようにしてますが、やっぱりそういうものでしょうね。堅いといわれてもしかたがない。
264 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 22:34:17.70 ] どうでもいい アホはアホでひとくくり
265 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:04:59.72 ] コードなんて、結局要件を満たして動きゃ良いので、 普通とか普通じゃないと、他人に理解されようがされまいが そんの事はかは関係ない。動いたもん勝ち。 ただし、これを仕事する場合は、大抵チームで作って幾ものだから 当然、担当が変わることもある。 その場合、他の人が読めない様なコードはくずだし、 そんなコードを書く奴もポンコツ扱いされる。
266 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:13:06.82 ] 某Qとかな どうせコピペ検知システムでバレるのにモリタポなんか取ってひでえ 癖があるからすぐに分かってしまう
267 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:18:40.01 ] 癖がわかるほどチェックしてんだ 本気で好きなんだな きもちわるい
268 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:23:04.16 ] お前がな。
269 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:36:48.68 ] お前がな? なにそれ ちょっと説明してもらえるかな?
270 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:38:41.24 ] ひらがな。 よみがな。
271 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:44:18.19 ] >>267 大学の講師なめすぎ
272 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 23:54:51.82 ] >>265 では、後半の観点からすると、>>184 と >>254 はどちらがより好ましいのでしょうか。
273 名前:デフォルトの名無しさん [2012/07/26(木) 00:04:29.56 ] 後者
274 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 00:19:16.05 ] 素のCでリンクトリストか。なんか楽しそうだな。
275 名前:デフォルトの名無しさん [2012/07/26(木) 01:30:53.63 ] プログラマーってどうせ恵まれた家庭の奴がなるんだろ? 俺んとことか金持ちじゃなかったからパソコンすらなかったし
276 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 01:39:57.94 ] 君は自らも努力しなかっただけ
277 名前:デフォルトの名無しさん [2012/07/26(木) 01:45:03.17 ] >>275 金持ちは医者とかだろ 世の中に何人プログラマーがいると思ってるんだ 今は開発環境がタダで手に入るけど 昔はアセンブラ買う金がなかったから ノートにアセンブリ言語でコーディングして CPUの命令セット見て手でコンパイルして マシン語モニタで16進数で打ち込んだりしてたぞ ドラクエの中村光一さんなんかも新聞配達でパソコン買ってたぞ バイトすればパソコンくらい買えるだろ。てかなにで書き込んでるんだ ちなみに秋元康さんは高校生のときに親の年収超えちゃって 親父が寂しそうな顔したとか
278 名前:デフォルトの名無しさん [2012/07/26(木) 01:49:52.56 ] >>277 どうせ俺はプログラマーにはなれないんだよ。 どうしたらいい? 本気で就職困ってる。 大学院は行かない(1浪2留)情報学科 で就職ある? アトピー持ちだよ。 就活が怖い。
279 名前:デフォルトの名無しさん [2012/07/26(木) 01:51:35.76 ] +3だから2chで噂されてる新卒採用の年齢制限に引っかかるか心配 プログラマーなんてどうせ高専か大学ストレートで出た20前半の奴 がなるんだろ?おまけに実家は金持ちで小4くらいからWindowsいじ ってたような。 俺は何もかも恵まれていない。 助言をくれ。
280 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 01:51:53.39 ] ここは人生相談するスレじゃねーぞ
281 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 01:56:03.73 ] 文系卒でプログラムのプの字も知らなかったヤツがコーダーになる世の中で何を言ってるんだろう
282 名前:デフォルトの名無しさん [2012/07/26(木) 01:58:05.80 ] >>281 それってさ単に有能なだけだろ..........
283 名前:デフォルトの名無しさん [2012/07/26(木) 02:00:50.99 ] 誰でもプログラマーになれるなら院出て仕事無いって嘆く奴はいねーよ
284 名前:デフォルトの名無しさん [2012/07/26(木) 02:03:29.53 ] 何でも知ってるQZaw55cn4cって仕事何なの? もし彼が無職ならプログラマがいかに敷居の高い職業なのかわかるでしょ。
285 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 02:04:51.40 ] QZは破壊工作するからしゃーない
286 名前:デフォルトの名無しさん [2012/07/26(木) 02:07:41.40 ] 今ならスマホアプリでも作って売ればいいだろ このスレ来てるんならCは分かるんだろ? Cが分かってれば3日もあればObjective-Cは使えるようになる IT土方なら中卒だっていたぞ 某官公庁の経理システムのリーダーとか この人なんか内定貰ってから勉強してるんだぞ itpro.nikkeibp.co.jp/article/Interview/20090902/336374/
287 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 02:20:28.12 ] ↑京大やんポテンシャル違いすぎ
288 名前: ◆QZaw55cn4c mailto:sage [2012/07/26(木) 02:51:01.47 ] >>286 >Cが分かってれば3日もあればObjective-Cは使えるようになる 本当ですか?にわかには信じがたい。 今 Java やってますけれども、いろんなJava知識を一からやっているわけで、なかなかものになりません。 きょうはここでひっかかりました。toro.2ch.net/test/read.cgi/tech/1340976913/595
289 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 02:54:24.41 ] 円周率の近似値なんてどうやってC言語使ってやればいいわけ…
290 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 02:59:18.70 ] 数学の問題だね double精度でやるのは、公式知ってればすぐにできるけど、 出来合いのクラス使わずに多倍長計算やるとまあまあ手応えあって面白いよ
291 名前:デフォルトの名無しさん [2012/07/26(木) 03:02:05.49 ] ガウスルジャンドルとかで検索してみるとか
292 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 03:04:34.51 ] >>282 Fラン卒だった
293 名前:デフォルトの名無しさん [2012/07/26(木) 03:07:15.26 ] >>288 それレスみた?とりあえず英語読めないときついぞ Java分かってればなお速いぞ >>289 「C 円周率」でびんぐれ 「マチンの公式 C」でもいいぞ
294 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 03:28:00.90 ] >>288 中年ジジイは既に脳が硬化してるから無理だよ
295 名前: ◆QZaw55cn4c mailto:sage [2012/07/26(木) 03:41:15.22 ] >>293 うん。自分で extends Applet の外にクラス作っておいだしたはいいものの、そのクラスをも extends Applet にしないといけなかったんですね。 まだぴんとこないのですけれども。
296 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 03:44:02.16 ] >そのクラスをも extends Applet にしないと それがしたかったのなら正しいけど多分違うだろ
297 名前: ◆QZaw55cn4c mailto:sage [2012/07/26(木) 03:54:03.79 ] >>296 そうですか?extends ではうまくいってます。 this を cast してもだめだったし、いまいち c++ と違うような気がするなあ。
298 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 03:57:47.08 ] うまくいってるってのはコンパイルが通るって事だけ?
299 名前: ◆QZaw55cn4c mailto:sage [2012/07/26(木) 04:02:46.95 ] >>298 アプレットビュアーまでOKです。んーんー。
300 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 04:06:59.62 ] >>288 はインナークラスを外に出したって言ってるけど中にもまだ残ってるし 残ってるほうのForDimChangeで動いてるだけじゃないのかね それとも他にも変更したのかね
301 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 04:08:23.61 ] つかスレ違いだからやめるわ 続きはあっちで
302 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 06:34:41.31 ] C++と違うって こんな事で躓いてるようじゃC++もできんだろ
303 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 06:48:31.62 ] >>289 ideone.com/U9EzS
304 名前: ◆QZaw55cn4c mailto:sage [2012/07/26(木) 07:57:05.06 ] >>294 そう思うのは勝手ですが、かくいうあなたもいずれ硬化脳中年になるのです。
305 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 08:13:35.28 ] 年齢関係ない
306 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 08:33:03.98 ] なんか適当に巡回してたらこのスレ見つけて触発されたからはじめたい。 おすすめのコンパイラ教えてくれ。あと学ぶためのサイトまた書籍とかも。
307 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 08:37:33.32 ] vc++expressでggr
308 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 08:41:55.68 ] 了解thx
309 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 09:10:25.49 ] >>306 knoppixをDLして、CD-Rに焼いて、なおかつUSBにもisoを入れろ ソイツの文字コードはUTFだから気をつけろ
310 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 09:13:00.95 ] 7/22 日韓国交断絶国民大行進 in 関西 www.nicovideo.jp/watch/sm18435339 日韓国交断絶デモの公式サイト haigai.exblog.jp/m2012-06-01/ pds.exblog.jp/pds/1/201206/25/41/d0178541_12523823.jpg pds.exblog.jp/pds/1/201206/25/41/d0178541_1264643.jpg pds.exblog.jp/pds/1/201206/25/41/d0178541_12172135.jpg pds.exblog.jp/pds/1/201206/25/41/d0178541_12174390.jpg pds.exblog.jp/pds/1/201206/25/41/d0178541_12191232.jpg pds.exblog.jp/pds/1/201206/25/41/d0178541_12251748.jpg www.youtube.com/watch?v=2oqZGmeEzWg&feature=player_detailpage#t=2545s
311 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 10:43:52.43 ] >>304 その議論は無意味ですよ 「今ここ」の話をしているのですから
312 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 13:02:39.83 ] >>306 初心者なら codepad.org でいいよ VCとか自分のPCにはインストールしたくないよね
313 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 16:08:00.61 ] >>312 codepad...わかった
314 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 16:12:47.02 ] ちなみに「ここで学ぶといいよ」みたいなサイトある?
315 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 16:21:01.76 ] 猫でもできるでいいんじゃね?
316 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 16:50:35.82 ] 1から100までの間の奇数の和を求めるプログラムが難しいです だれか助けてください #include<stdio.h> main() { int i, sum; 「わからない箇所」; for(i=1; i<= 99;「わからない箇所」){ 「わからない箇所」; } printf("sum = %d\n", sum); } 大学の課題で必要なんですが、すいませんどなたか助けてください…。
317 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 16:52:49.98 ] sum=0 i+=2 sum+=i
318 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 16:59:54.01 ] sum = 2500 i += 100 sum += 0
319 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 17:04:39.45 ] うわ凄い助かります 非常に厚かましいのですが、この場合だとどうすれば良いのでしょうか キーボードから3桁の整数を入力したとき、それぞれの桁の和を求めるプログラムを作りなさい たとえば234と入力されたとき2+3+4を求める #include main() { int a, q, sum; printf("3桁の整数を入力してください\n"); scanf("%d",&a); q=「わからない箇所」;//100の位を求める sum = q; a =「わからない箇所」;//元の数aから100の位を除く数をあらためてaとする q =「わからない箇所」;//10の位を求める sum = sum + q; a = 「わからない箇所」;//10の位を除く sum = sum +「わからない箇所」; printf("和=%d\n",sum);
320 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 17:07:55.74 ] >>319 a/100 a-q a/10 a-q a
321 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 17:17:13.72 ] C言語難しいですね...。勉強します...。 すいません、最後です。できればお願いしますorz 年利率がr%の銀行にa円預金したとき、それがb円になるのに何年かかるかを求めるプログラムを作りなさい #include <stdio.h> main() { double r, a, b; int year = 0; printf("r,a,bを,この順番で,入力してください\n"); scanf("%lf %lf %lf", &r, &a, &b); while(「わからない箇所…たぶんmoneyだと思うのですが…){ year++; a「わからない箇所」; }printf("year=%d\n",year); }
322 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 17:22:28.32 ] a<b *=1*r/100
323 名前:デフォルトの名無しさん [2012/07/26(木) 17:35:59.32 ] 助けてください! C言語の課題です。 「自分のフルネームをアルファベット小文字で入力し、そのアスキーコードを、10進数で求めて平均、分散、標準偏差を表示」 を表すソースを教えてください。
324 名前:デフォルトの名無しさん [2012/07/26(木) 17:38:25.18 ] いやです。
325 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 17:38:36.89 ] 課題はこっち C/C++の宿題片付けます 159代目 toro.2ch.net/test/read.cgi/tech/1342966104/
326 名前:デフォルトの名無しさん [2012/07/26(木) 17:40:48.60 ] ごめんなさい。スレッド違いでしたね…
327 名前:デフォルトの名無しさん [2012/07/26(木) 18:01:50.56 ] 課題を人にやってもらったりしてるから 日本で人が育たないんだなあ
328 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 18:35:29.13 ] その代わりに課題をやってくれる人が育つので ある程度問題解決
329 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 18:47:28.37 ] だって大学までの勉強なんて入社で評価されないし 遊んだりとか他のリア充活動ばかりが評価されるからなあ そりゃ普通大学を真面目にやるのは損って思うでしょ レポートはコピーしてその分遊んだりなんかでリア充した方が職を得やすいんじゃ誰も勉強しないよ うちの同期のトモダチもそういうやつらはみんな大手決まってるけどコピー元のレポート書いてる俺や他の真面目くんはまだ中小にすら拒否されまくりだよ
330 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 19:16:37.48 ] 日本人とは限らんしな
331 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 19:17:32.40 ] この業界はコミュ力ないクズはコード書けても不採用が常識だろ コードは三ヶ月で書けるようになるからな
332 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:01:00.93 ] Qとかな
333 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:24:50.22 ] コンピュータサイエンスの教科書における問題の1つは、再帰のくだらない例を 掲載していることである。よくあるのは、階乗の計算やフィボナッチ数列の計算だ。 再帰は強力なツールであり、それをこのような状況で使用するとはあきれてものが 言えない。仮に、私の部下が再帰を使って階乗を計算しようものなら、別のだれかを 雇うだろう。 『Code Complete第2版〈上〉』(Steve McConnell,日経BPソフトプレス,2005年,p486)
334 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:29:03.54 ] コピペマン参上!まで読んだ。
335 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:42:30.19 ] で そのイカした本にはcoooooooooooolなリカーシヴの実例が 載ってるんだろな
336 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:42:37.72 ] 韓国政府 「在日はいい加減に祖国に帰れよ!在日の祖国定着を行うぞ!」 在日の帰国計画を用意 engawa.2ch.net/test/read.cgi/poverty/1343183891/ 韓国、日本村を造成、在日韓国人の定着支援を計画 在外僑胞の村がある慶尚南道南海郡(キョンサンナムド・ナムヘグン)に日本村と観光休養団地が新たに造成される。 韓国南海郡は24日、郡庁でこうした内容が盛り込まれた事業計画を確定し発表した。 これによると郡は460億ウォン(約31億円)を投じて日本式住宅、コミュニティセンター、小公園などを備えた住宅団地を作る。 また、日本文化体験館、日本食・宿泊体験館、日本歴史文化館も作る。 故郷を離れた後、異国の地に住む在日韓国人の故国定着のためのものだと郡は説明した。 2012/7/25 japanese.joins.com/article/196/156196.html?servcode=A00§code=A10
337 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:48:06.81 ] ネトウヨ王に、俺はなる!まで読んだ。
338 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:49:40.51 ] >>333 フィボナチ数列は、再帰でもいいんじゃない? まあビネの公式を調べて使えということかもしれないが。
339 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:41:32.51 ] >>338 違う。 再帰はスタックを消費する。 フィボナッチ数列を再帰で書いたら俺でも怒るわ。 この人は、「普通にループで書けるのに無駄にスタック消費しやがって!もっと考えろ!」ということを言いたいだけ。 もっと言うと、「素晴らしいものが何にでも通用すると思うな!『銀の弾丸』は無い!都度考えろ!」ということ。
340 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:43:57.02 ] 順列調べるのに再帰してごめんなさい
341 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:45:09.15 ] >>333 Thasts neta, right?
342 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:45:41.69 ] 再帰考えたやつだれだ、出てこい
343 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:46:15.79 ] >>339 コピペ馬鹿の分際で偉そうなことを言うなって
344 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:49:23.78 ] >>343 ほう、じゃあ何か偉そうなことを言ってみろ。
345 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:54:21.82 ] >>340 再帰は素晴らしい機構だが、盲信すんなってことだ。 確かに順列は再帰は不要だな。普通にループすべし。
346 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:55:07.52 ] 私には無理ですなぜなら私が言うとそれは「えらいこと」そのものになってしまい、 「えらそうなこと」にはららないからです。 非常に済みませんが、あたなのような程度の低い低脳が滲み出た ええらそうなことなることは、言えません。
347 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:55:35.28 ] 順列調べるのにまず手作業で樹形図書いてるからそれに引きずられて再帰しちゃう
348 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 22:58:58.03 ] >>346 お疲れ様でした。田舎に帰って実家警備業にでも就いてください。 ついでに精神科にも通ってください。
349 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 23:04:17.70 ] itoa()を実装しようと思ったら、ついつい再帰で書いちゃうよね。 でも、ハノイの塔を再帰で書くのは却下w
350 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 23:05:29.20 ] 末尾再帰なら許す
351 名前:デフォルトの名無しさん [2012/07/26(木) 23:33:50.94 ] >>329 >>331 うわぁもうやめてくれ。 プログラマーって眼鏡かけたリア充の巣窟なんだろうな。 もう吐き気がとまらないわ。 俺は一生新聞配達か。
352 名前:デフォルトの名無しさん [2012/07/26(木) 23:43:02.56 ] >>351 d.hatena.ne.jp/yomoyomo/20090721/reunion ループは再帰にできるけど、再帰をループで書くのは面倒なんだっけか
353 名前:デフォルトの名無しさん [2012/07/26(木) 23:45:16.23 ] オタクにもなれない、リア充にもなれない
354 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:08:52.66 ] >>344 例にそんなに噛み付かないでくれよ ほら、ジャーキーやるからさ(´・ω・`)
355 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:12:20.79 ] >>339 スタックを消費するのは仕方ない場合もあるが、 フィボナッチ数列で問題になるのは単純に再帰で実装すると ループで書いた場合より計算量が増える事でしょ じゃあどうする?という事で、メモ化や動的計画法の 話題に持っていくのが一つのアプローチ これ単体では「くだらない」が、例としてはむしろ単純な事が重要
356 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:12:38.43 ] チクワくれチクワ
357 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:28:40.54 ] 動的計画でフィボナッチどう書くの?
358 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:35:03.68 ] >>357 #include <stdio.h> long fib(int n) { static long data[50]={1,1}; if(n>=46) return -1; if(data[n]==0) data[n]=fib(n-1)+fib(n-2); return data[n]; } int main(void) { int i; for(i=0;i<50;i++) printf("%ld\n", fib(i)); return 0; }
359 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:49:42.04 ] じゃあメモ化は?
360 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 01:09:07.08 ] >>359 動的計画法でしょ
361 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 04:44:09.61 ] >>284 仮になんでも知っているとして、それでも知っていることと書けること、それも納期や雑用等のプレッシャーのもとで書けること、とは相関はないと考えています。
362 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 04:46:53.82 ] >>273 二重ポインタ自体の理解困難性というデメリットと、二重ポインタ使用によるループ記述の見通しのよさというメリットを比較して、前者に重きを置く理由を教えてください。
363 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 05:21:28.32 ] 見通しの良さって明らかなメリットと言えるほどの差が無い
364 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 05:39:56.40 ] 二重ポインタくらい理解できなくてどうすんのさ char *argv[]とか
365 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 05:40:25.05 ] むしろ悪いよね。 初心者はちゃんと理解もできないし。
366 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 06:47:49.33 ] >>358 それ、ただキャッシュしてるだけやん。 なんでそれが動的計画なの?
367 名前:デフォルトの名無しさん [2012/07/27(金) 10:02:55.88 ] 理解することとメリットがあることは別物
368 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 10:04:28.04 ] お前がそう思うんならそう(ry
369 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 10:14:18.17 ] >>361 無職なのに納期?おかしな事を言うなあ やっぱり狂ってる
370 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 11:28:24.19 ] 男が女性問題を議論してはいけないと申されるのか
371 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 13:51:49.24 ] 標準Cで巨大ファイルを扱うにはどうすれば? 整数で扱える範囲を超えてシークできない
372 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:00:31.96 ] >>371 Win32のCreateFile()、SetFilePointer()、RealFile()、WriteFile()を使えば 64bitまでアクセス出来る
373 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:02:49.21 ] 標準Cとか書いてるのにか。
374 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:03:20.13 ] 64BIT以上はどうするんですか?
375 名前:デフォルトの名無しさん [2012/07/27(金) 14:05:48.62 ] 日 本 語 で お k
376 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:06:28.80 ] C言語初心者だけど 理解しにくい記述は避けるってのが他言語で覚えた掟 perlのワンライナーとかスゴイけど怖い 「これ修正して(´・ω・`)」 「無茶言わないで下さい(´・ω・`)」 ダブルポインターはそこまで鬼畜じゃないか?
377 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:07:59.67 ] support.microsoft.com/kb/894942/ja >>374 64bitだと1680万TiBあるのだが そういうHDDが出る頃にはもうWin32なんて使われないだろう からかってるのか?
378 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:22:14.46 ] >>376 ダブルポインターなんて言葉自体ポインターを理解できない輩の言い訳にしか過ぎない。 ポインターに鬼畜もへったくれも無いので、必要なら必要なだけ使えばいい。
379 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:28:41.04 ] そういうやつに使われると迷惑なだけなんだが。
380 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:10:05.43 ] 配列の境界チェックを一時的に導入する書き方ってないかな? デバッグ時だけチェック入りのコードにしてリリース時は速度稼ぐために外したいんだけど
381 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:15:45.71 ] 配列へのアクセスをマクロ経由にすればいい。
382 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:18:57.94 ] value = array[i]; ↓ value = GET(array, i); こんなのか
383 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:20:21.77 ] 既にあるコードの見た目を変えないようなマクロを導入するのは無理?
384 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:21:29.70 ] お前、アホだろ。
385 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:28:02.68 ] とりあえず静的解析ツール使えばいんじゃねーのか?
386 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:29:10.31 ] そのレベルじゃ途方にくれる結果になるとは思うが。
387 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:31:57.84 ] assert
388 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:33:14.96 ] 昔C#に移植してみたっけな 手間はかかるがかなり効果はあった
389 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:44:35.63 ] >>385 それよさそう お勧めのツールはある?
390 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:51:29.97 ] Cppcheckでやってみるか
391 名前:デフォルトの名無しさん [2012/07/27(金) 16:51:43.60 ] coverity
392 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:04:54.35 ] 静的解析ツールで境界チェックってできるの? 定数等からある程度はわかるだろうけど実行時にしかわからないものもあるよね。
393 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:36:54.63 ] とりあえずC++から入って後々Javaとか後付することにした VC++でいいと聞いてインスコしたんだけど、始めにロゴみたいなの出て一瞬で消えて起動さえしないんだけど。 どゆこと?教えてエロい人 ちなみにOSはWindows7
394 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:40:43.47 ] 再インスコ
395 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:47:02.39 ] スペインに勝利! 世界は日本を見くびっていた=中国メディア ロンドン五輪・男子サッカーが26日開幕し、日本は強豪スペインに1−0で勝利した。中国メディアも日本の勝利を大きく伝え、騰訊網は「世界は日本を見くびっていた」とする評論記事を掲載した。 記事は、日本についてヨーロッパは「現代サッカーを速やかに吸収する素晴らしい学習者、模倣者」と認識し、中国は「日本のサッカーを学ぶのではなく、日本が他人からどうやって学んできたかを学ぶべき」 と考えてきたと論じたうえで「これは間違いなく日本に対する過小評価だ」「ヨーロッパにしろ中国にしろ、日本サッカーは『学び続ける』ことだけで強くなってきたと考えることにすっかり慣れてしまった」とした。 一方、スペイン戦の勝利後、日本代表の関塚隆監督や選手たちが口々に「ボール支配の時間が少なすぎた」と不満をこぼしたことに触れ、 「彼らは『学習者』としてスペインに挑んだのではない。日本の態度は強い『競争者』意識の表れだ」と分析。「この意識は非常に尊いものだ」とし、「学習」ばかりを強調する中国サッカーの意識を暗に批判した。 そして、強い競争者意識を持った日本がスペイン戦で見せたパフォーマンスについて「もっとチャンスを生かせていれば、5−0でスペインに勝ってもおかしくなかった」と評価した。(編集担当:柳川俊之) news.searchina.ne.jp/disp.cgi?y=2012&d=0727&f=national_0727_022.shtml
396 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:50:50.61 ] >>393 始め、ってどの始めだ
397 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 18:15:18.31 ] >>394 何度か再インスコしたんだけど無理だった。 >>396 起動すると「Visual C++ 2010 Express」て書かれて、その後その表示が消えて、そのまま何も起こらない。
398 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 18:19:58.70 ] VSスレ行け
399 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 19:41:43.68 ] >>380 C++ でoperator[] ただし、ポインタが境界外っていうのはだめだね。 bcc32 -v -vG はどうだったっけ。
400 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 19:48:09.66 ] C++はスレ違い
401 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 19:57:23.71 ] インデックス値で境界外を指しても間違いとは限らねーし Cの文法でインデックス正誤がどうこうの要求自体が間違ってる
402 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:02:22.47 ] その程度、静的解析ツールはサポートしてるけどな。
403 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:07:18.22 ] >>380 面倒でもassert使え
404 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:12:33.37 ] >>401 =アホ
405 名前:デフォルトの名無しさん [2012/07/27(金) 20:19:38.86 ] >>404 アホはおまえ インデックス値で境界外を指す間違っていない例を知らないだけだ
406 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:22:40.59 ] ↑ 恥の上塗り
407 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 20:27:43.78 ] >>401 でも i が out of bounds で a[i] に読みにしろ書きにしろアクセスした時点でアウトでしょ? だったら operator[] は有用だとおもうんですけど。
408 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:29:08.27 ] ttp://ideone.com/Wudzl
409 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:31:52.10 ] 今更C言語なんかで改変に耐性のないクソコード書くヤツに 煩わされる様な事は無いだろうから 無知は放置の方向で
410 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:34:52.96 ] 世の中には問題にならない例も有る事なんかデバッグしなくていい理由にならんわ 問題が有るからデバッグするんだろ
411 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:36:56.02 ] >>409 =池沼
412 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 20:49:02.61 ] >>408 それ、C99 以降ね。 あと、www.kouno.jp/home/c_faq/c2.html#6 >Dennis Ritchieは「Cの実装への根拠 のない馴れ馴れしさ」と呼んだ。
413 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:52:31.95 ] 【社会】 ノーベル賞・利根川進教授の15歳息子、米MITの寮自室で死亡…異臭で発覚、警察「事件性はない」 logsoku.com/thread/raicho.2ch.net/newsplus/1319691749/
414 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 21:10:23.34 ] >>408 あと、文字列末尾の\0の分は足さなくてもいいのか?
415 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 21:18:34.01 ] いつの話題だよ 池沼か? 事件性があるのはお前の話題の遅さだろks
416 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 21:21:15.86 ] sizeof "hoge" は5だろ
417 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 21:37:20.90 ] >>416 なるほど、thx。 でも普段これをやるときは strlen() を使わざるを得ないな。だって不定長のデータを扱うためなんだろう?この手の構造体を使う場合というのは。
418 名前:デフォルトの名無しさん [2012/07/27(金) 22:10:36.45 ] sizeof "hoge"[100] == 1 が保証されるのを知らないアホは逃げたか?
419 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 22:37:36.57 ] うん
420 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 22:48:56.65 ] >>418 =ゴミ
421 名前:あきら [2012/07/27(金) 22:54:01.24 ] 勉強期間がまだ3カ月程度でまだよくわかっていないので 説明お願いしたいです。 本当に困っているので すみませんがよろしくお願いします! int i=0,n=1000; while(n>0){ n=n-7; i++; } printf("i=%d,n=%d",i,n); 答えがi=143,n=-1になることを説明お願いします。 iは1000/143であってますか?
422 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 22:56:58.45 ] ゲーム「フォトカノ」のコミカライズ単行本が続々登場 エンターブレイン制作によるPSP用恋愛シミュレーションゲーム「フォトカノ」を原作にした、マンガ作品の単行本が連続してリリースされている。 7月25日にはアンソロジー「フォトカノ Omnibus Album」が、本日7月27日には柚木N'「フォトカノ Sweet Snap」の1巻が発売された。 「フォトカノ Omnibus Album」では成沢空、PONPON、星野円ら10名の作家が、各ヒロインをメインにしたエピソードを執筆。カバーイラストは 「鉄道むすめ」のキャラクターデザインで知られる、みぶなつきが手がけている。 一方「フォトカノ Sweet Snap」は、ヒロインのひとり・新見遙佳を軸に展開する長編ストーリー。月刊電撃マオウ(アスキー・メディアワークス)で 連載されている。アニメイト、コミックとらのあな、ゲーマーズ、まんが王、WonderGOOでは、「フォトカノ Sweet Snap」1巻の購入者に柚木N' 描き下ろしのイラスト特典を配布中。特典の数には限りがあるため、気になる人はお早めに。 またヤングアニマル(白泉社)で連載されている、ナイロン「フォトカノ Your Eyes Only」の1巻は8月24日にリリース。この発売を記念してヤング アニマルと月刊電撃マオウでは、出版社の垣根を越えた出張掲載企画が実施される。8月10日発売のヤングアニマル16号には柚木N'が、 8月27日発売の月刊電撃マオウ10月号にはナイロンが登場し、互いに「フォトカノ」の出張マンガを発表する。 natalie.mu/comic/news/73658 blog.dengeki.com/wp055maoh/wp-content/uploads/2011/11/Ph5%EF%BC%88%E3%83%95%E3%82%A9%E3%83%88%E3%82%AB%E3%83%8E%EF%BC%89-410x300.jpg blog-imgs-51.fc2.com/y/a/r/yaraon/82c5a3f7.jpg blog-imgs-36.fc2.com/v/n/r/vnr2034/20120211162317b33.jpg
423 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 23:58:36.26 ] キモヲタコピペマン参上!まで読んだ。
424 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 03:17:25.17 ] >>412 のリンク先に >char namestr[MAXSIZE]; >ここでMAXSIZEは配列namestrに保存されうるどんな名前よりも大きい。 >しかしながらこの技法も、規格の厳密な解釈によると許されないようだ。 ってあるけどなんで?
425 名前: ◆QZaw55cn4c mailto:sage [2012/07/28(土) 04:40:03.39 ] >>424 c-faq.com/struct/structhack.html に補完されているのをみると、この場合も構造体の malloc() では、 struct name *ret = malloc(sizeof(struct name)-MAXSIZE+strlen(newname)+1); ととり、同じく臨機応変に構造体のサイズが変化するがごとくに使うやりかたを指しているようだ。 これら二つのやりかたに関する議論の内容は残念ながらしらない。
426 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 05:20:20.74 ] struct name { int namelen; char namestr[1]; }; これ初めて見たんだけどどう使うの? はみ出すんじゃないの?
427 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 05:31:42.03 ] typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO; mallocとかで必要なだけ領域を確保してアクセスするんだよ
428 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 05:37:05.30 ] ああ、そういう事ね サンクス
429 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 09:27:48.90 ] >>421 何に困ってるのかよく解らんから、説明っつーても「書いてある通りだよ」としか。
430 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 11:57:25.56 ] 大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に engawa.2ch.net/test/read.cgi/poverty/1343304708/ 自称グローバル企業楽天三木谷「Windowsって漢字のアカウント許してるのかよw2バイトとかありえねぇ」 engawa.2ch.net/test/read.cgi/poverty/1343412938/ 馬鹿な日本人が漢字使ってマンガしか読まないからw楽天三木谷日本人に宣戦布告か? engawa.2ch.net/test/read.cgi/poverty/1343394199/ 大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に engawa.2ch.net/test/read.cgi/poverty/1343304708/ 低評価レビューを隠して逃走した楽天・三木谷社長「細かいことで騒いでいるのは少数派ですよw」 engawa.2ch.net/test/read.cgi/poverty/1343390542/ 三木谷「コボの出足は大成功、ネガティブな口コミは誤情報だから消し、内容を吟味して再掲載する」 engawa.2ch.net/test/read.cgi/poverty/1343403455/
431 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 13:58:58.70 ] >>421 はい、合ってます
432 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 16:33:23.79 ] >>421 いいえ、合ってません
433 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:18:52.00 ] ある関数の中で別の関数の処理を書く事って出来ないんですか? int main(){ void remain(){ i=2; } } こんなの〜
434 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:25:50.94 ] newしてvector型配列に追加したデータは vectorの.clear()関数を使用した際にdeleteされますか?
435 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:40:03.31 ] >>433 こういうこと? ideone.com/XDEk3 できるっぽいね。初めてやってみたけど
436 名前:433 mailto:sage [2012/07/29(日) 00:46:49.28 ] >>435 こんぱいら〜によっては出来ないんでしょうか? わたしはVisual C++ 2010使ってますが関数の名前の箇所でコロン付けなさいと言われちゃう… ルーチン呼び出しって思われてるのかな出来ませんでした><; そのサイトで使われているのはgccでしょうかね
437 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:51:55.36 ] >>436 調べてみたら関数のネストはGCCの拡張だそうです。 VC++ではできないみたいですね。
438 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 02:51:26.79 ] 関数内で関数定義なんて見にくいだけでいいことないだろ
439 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 03:59:11.54 ] >>438 いや。使いたいことはある。特定のルーチンを使いまわししたいときは特に。 最近では AVL木。木の回転のまえのルーチンはメインの関数内に入れたいなと。
440 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 04:29:25.29 ] 中括弧閉じのマクロにしちまえばいいじゃん。
441 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 05:28:20.51 ] >>439 C++でクラス階層を重ねる手法に時代は移ってる Cは全ての関数が同じレベルにあるので管理が難しい
442 名前:433 mailto:sage [2012/07/29(日) 07:53:37.18 ] なるほど〜 ではグニューCを使うべきなのでしょうか?VC++は学び始めた最初から使っていてある程度慣れてきた感もあるのですが… 関数の中に書く事でコードにある程度まとまった感が欲しかったのでやってみただけです あと初心の段階でこういった依存性を体感できたのはちょっと嬉しかったり よい経験に。 >>440 初心者なので分かりませんでしたw>ちゅうかっことじのまくろ
443 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 09:05:22.47 ] 別に関数かしなくても医院で内科医? int main() { /* 適当に処理 */ /* remain */ { i = 2; } /* 適当に処理 */ return 0; }
444 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:18:19.69 ] 別の関数を呼び出さずに、1つの関数内だけでサブルーチンと同じ流れ 制御構造(コール、リターン)を実現する記述方法って、なにかありますか?
445 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:24:02.64 ] >>444 つ[goto]
446 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:24:26.86 ] setjmp
447 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:36:33.46 ] >>445-446 情報ありがとうございます
448 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/29(日) 11:11:53.96 ] >>442 C++ であれば関数内でクラス定義できるのを利用してこんな風に書けなくもない。 スレ違いだけど。 int i; int main() { struct d { static void remain(){ i=2; } }; d::remain(); return 0; }
449 名前:433 mailto:sage [2012/07/29(日) 11:15:29.69 ] >>443 すいません。実は処理がi = 2だけじゃなく結構長いソースなので同化させちゃうと何度も呼び出さないといけなくなっちゃいます… /* remain */ { i = 2; } だけだとラベルがないので多数から参照できないお…、と言おうと思ったら>>444 さんの会話の中で出ているジャンプ命令がありますねw ですがすぱげってぃ〜状態になりませんか?ジャンプだらけだと… やはりここは素直にmainルーチンのソトに置くのが妥当のようですね…。個人的に残念ではありますが
450 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/29(日) 11:19:20.72 ] >>442 処理系の独自拡張を使うのは可能な範囲では避けた方がいいというのが一般的な意見じゃないかと思う。 特に関数内での関数定義はマクロで切り分けたりもしづらいタイプの機能なので移植性を損いがち。 更に言うならめったに使わない機能なので、変なバグが残っていたり将来的にサポートが打ち切られる可能性も少なくない。 といった欠点は指摘できるけど、利点と欠点を比べてどう判断するかは個別の状況によるトレードオフの問題。
451 名前:433 mailto:sage [2012/07/29(日) 11:29:41.03 ] >>448 はちみつ餃子さんありがとうございます。 C++で書いてもいいのですがとりあえずは>>449 に書いた暫定対策で行きますw クラス定義とかは初耳です。 C++は参考書買ってないので(X_x)... 勉強します…orz
452 名前:デフォルトの名無しさん [2012/07/29(日) 12:17:56.38 ] アルゴリズムはもう発見しつくされてるから プログラミング業界って技術者がいらないの?
453 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 12:22:02.91 ] > プログラミング業界って技術者がいらないの? こういう質問に答えてくれるプログラムが開発されたらいらなくなると思うよ。
454 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 12:37:48.51 ] >>452 こういうやつがいるから技術者が必要なんだよ
455 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 13:07:29.51 ] 技術者必要なんだけど、要らないやってずうっとやって来て、プログラムの作れない国になっちゃった。
456 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 13:19:15.60 ] 技術はほとんどが隠されて共有されないからね 世界各地で同じようなものを再発明しないといけないんだよ だから技術者はいくらいても足りない
457 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 14:24:05.39 ] C++のSTLは車輪の再発明をかなり抑えたという功績は大きい スレチだけど Cで書いてると毎度同じような事を何回も書いてすごい時間を無駄にしているような 気がする ライブラリ化して一般化すればいいんだけどMATLABのような物を一人で作る事は まず無理
458 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 14:53:05.84 ] 技術がない人たちのレスが続いています あと少しのご辛抱です
459 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 14:58:33.39 ] mallocってたとえば1000バイト確保しておいて10バイト分の入力のときにのこりの990バイトはその入力が終わった時点で開放されるんですか?
460 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 15:03:15.97 ] >>458 あと少しってどれくらいですか
461 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 15:10:28.74 ] >>459 されません
462 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 15:14:20.34 ] >>459 free()してください
463 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 15:14:41.76 ] あ、残りの990バイトが不要ってのならrealloc()でもいい
464 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 15:33:58.22 ] レスありがとうございます。 やっぱりfree()しない限りは開放されないんですよね。 じゃああんまり動的メモリ確保の意義ってないんじゃないのかななんて思ったりするのですが・・・ と思ったらrealloc()なんてあるんですね。 ちょっといろいろ試してみます。
465 名前:デフォルトの名無しさん [2012/07/29(日) 15:35:13.40 ] >>457 Cでそういう有名なライブラリってglibc以外になんかある? JavaとかC#やってから戻ってきたら文字列処理が 改めてめんどくさいと感じた
466 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 16:36:21.13 ] ないよ
467 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:07:47.61 ] >>465 CでSTLやるのあったやん templateないのにどうやってジェネリックやってんのか知らんけど cstl.sourceforge.jp/ ようやるわ
468 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:09:38.39 ] >>464 >動的メモリ確保の意義ってないんじゃないのか いやいや、これが非常に便利なんですよ。おいおい理解が深まると重宝しますよ。楽しみにしてください。
469 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:15:55.06 ] >>467 ジェネリックってなに?
470 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:25:18.28 ] ゾロのことじゃね?
471 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:26:39.41 ] >>469 あれC++のtemplate知らんの? 例えばint与えるとint用の比較演算子、代入演算子、コピーコンストラクタを生成 double与えると以下同文 class与えると以下同文 std::sort()とかstd:copy()使うとqsort()とかmemcpy()より速い事があるっしょ?
472 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:30:50.25 ] 頑張ってるけどCでやる意義が不明。なにかいいことある? > vector > インデックスによる要素のランダムアクセスが可能。 そんなバカなと思いつつ、ワクワクしてみて、やっぱりな。
473 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:43:48.32 ] Cはそういう楽さを犠牲にしてパフォーマンスだしたいときに使うんやろ
474 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 18:20:55.88 ] >>467 多分生成的マクロだろう。 ## で識別子同士をひっつけるとか、いろいろ。
475 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 18:40:19.36 ] ■嫌いな国ランキング 2012 japaneserank.enq1.shinobi.jp/comment_record/101289/ ■1位 韓国 24871票 ■2位 中国 614票 ■3位 北朝鮮 203票 ■総投票数 25982票
476 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 20:15:22.13 ] ネトウヨ王に、俺はなる!まで読んだ。
477 名前: ◆QZaw55cn4c mailto:sage [2012/07/29(日) 23:33:13.75 ] >>300 toro.2ch.net/test/read.cgi/tech/1340976913/670 >>302 まだまだですね。
478 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 00:01:38.20 ] >>464 >じゃああんまり動的メモリ確保の意義ってないんじゃないのかななんて思ったりするのですが・・・ 動的メモリ確保の意義は、そのメモリが確保されている期間が、静的変数、auto変数と異なっている ところにある。 静的変数:プログラム開始から終了まで(ユーザプログラム的には最初から最後まで) auto変数:ブロックに入ってから出るまで 動的変数:mallocされてからfreeされるまで 主にauto変数と違ってfreeするまでずっと残っている点が利点 →逆にメモリリークが怖いわけだが、、、。
479 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 06:23:35.33 ] 反原発だからコリアの人々と船出しよう山本太郎もいるよ!←意味がわからないし、何故コリアwwwwwwww engawa.2ch.net/test/read.cgi/poverty/1343579821/ PEACE&GREEN BOAT 2012 開催! −いま、コリアの人々と船出しよう 今年12月、4年ぶりにPeace&Green Boatが出航します。テーマは「脱原発」。 日韓3ヶ所の原子力発電所を訪れ原発の「いま」を見つめ、 原発立地地域の人々との交流を通じて「脱原発」を進めるために必要なことを考えます。 旅をより充実したものへとナビゲートしてくれるのが水先案内人の皆さん。 PEACE&GREEN BOAT2012には多彩な水先案内人の方々が参加予定です。 原発のない社会に向けて、共に各地をめぐり語り合います。(※順不同・敬称略) アイリーン・美緒子・スミス (グリーン・アクション代表) 鎌田慧 (ルポライター) 田中優 (環境活動家、ap bank監事) 古市憲寿 (社会学者) 松田美由紀 (女優・写真家) 宮台真司 (社会学者) 山本太郎 (俳優) [魚拓] megalodon.jp/2012-0726-2316-13/www.peaceboat.org/cruise/pg2012/index.shtml niceboat.org/10/s/10ko323392.jpg または i.imgur.com/lY0nX.jpg [どうしても直接踏んでソースを確認したい人は] www.pbcruise.jp/cruiseList/peacegreen/index.html www.peaceboat.org/cruise/pg2012/index.shtml
480 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 08:22:35.19 ] ここって入門だというのに見てたら随分と初心者に優しくないのね やっぱ専門板だとこうなっちゃうのかな なにかトラウマみたいなことでもあったの?
481 名前:デフォルトの名無しさん [2012/07/30(月) 10:41:50.30 ] C言語のソースコード検索したら標準関数じゃない関数がいっぱいあるけど あれは何なの?
482 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 10:47:11.30 ] >>481 ヘルパ関数(下請け関数)だろ そんなの実装によっていくらでも入ってる C++だとprivateにされちゃって呼び出せないだろうけど #define private public
483 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 11:10:10.73 ] C#じゃなくてCを使う理由を挙げてください
484 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 11:16:00.57 ] C++ならともかく、それはC#を知らないからじゃね?
485 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 11:24:19.47 ] C#のライブラリもCで実装された処理を呼び出している C#プログラマなんてのは表面でCのプログラムを呼び出してるだけのカスでしかない
486 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 11:49:37.58 ] javaで採用されている機能だけでC++を使いCのライブラリを使う。
487 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 11:59:49.95 ] Cがわからんから聞いてんだろ
488 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 12:01:44.48 ] Cのライブラリもアセンブラで実装された処理を呼び出している Cプログラマなんてのは表面でアセンブラのプログラムを呼び出してるだけのカスでしかない
489 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 12:05:10.85 ] アセンブラのライブラリも機械語で実装された処理を呼び出している 機械語プログラマなんてのは表面で電子回路のプログラムを呼び出してるだけの半田ごてでしかない
490 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 12:17:05.22 ] 一生やってろ
491 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 12:31:16.96 ] >>480 ・それ入門レベルか? ・そんなもん、その人次第だろ… ・C言語の質問じゃねーし… ・まず日本語初心者や人間初心者を卒業してくれ ・流石にパソコン初心者やネット初心者はな… ・2chやプログラム板は初めてか?力抜けよ ってな質問には相応の返答しかつかんが、その辺は加味してログ読んでる? まあ、実際荒れてることもあるけど(夏休みだし余計にな)それはそれだからな
492 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 12:39:46.09 ] >>483 C#・・・Windows専用に特殊にカスタマイズされたJavaのような言語 Windows専用だけあって(Monoのようなプロジェクトもあるがそれは別) Windowsと非常に相性が良く、文法面では既にJavaをしのぎ、大抵の GUIアプリケーションを多分現存する言語の中では最速で組み上げる JITコンパイラ内蔵なので動作が意外に軽い Java・・・マルチプラットフォームを売りにしているが、Windows上で動かす には分が悪い JITコンパイラを後付けしたせいかクライアントJREではホットスポットJITが 仇になって動きが重い C#よりはるかにもっさり感じる サーバーJREは起動が遅いが速度は速い 今や文法面でC#を追い掛ける奇妙な立場 C・・・最小限の機能しか揃ってないのでプログラミングは大変だが、高速な ネイティブを吐き、しかもコンパクトなので組み込みに最適 という事で使用目的が違います もちろん大規模GUIプログラムもCで書かれています プログラマは地獄を見ますが
493 名前:デフォルトの名無しさん [2012/07/30(月) 12:57:21.42 ] なんだ大規模GUIプログラムて。 今時そんなのあんのか?
494 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 13:01:55.32 ] >>492 ざっくりわかりました,ありがとう. ちなみにCの組み込みに最適と言うのは アセンブリ動的にロードする(プラグ印を組み込ます)ような事にあたるのでしょうかね
495 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 13:10:39.02 ] 違います。
496 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 13:15:43.19 ] 今ネイティブでGUIならQtだろ でもC++だからな
497 名前:デフォルトの名無しさん [2012/07/30(月) 13:40:12.24 ] >>482 違う winmain関数とか 見たことなかった。
498 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 13:44:19.01 ] _tWinMain()
499 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 13:52:29.93 ] >>497 メッセージループでぐぐれカス
500 名前:デフォルトの名無しさん [2012/07/30(月) 13:55:09.31 ] >>499 winMainは何言語なんですか?
501 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:13:13.72 ] WinMain()でググレカス
502 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:16:09.98 ] MSのコンパイラなら CRT0.C 見れば
503 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:21:00.74 ] すいません、VBをちょっとしかかじったことないんですが C言語のA<<3とかの<<って どういう意味なんですか?
504 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:22:52.49 ] その程度、入門書読んでから質問しろ
505 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:29:43.34 ] 本持ってないんですよー ググっても<<は無視されて検索されるし ほんとおねがいします
506 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:40:32.12 ] C言語 入門 Goooogle
507 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 14:49:19.39 ] そんなつれないこと言わずに じゃあ芸能界で例えてください
508 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 15:01:10.41 ] シフト演算子 これで検索できるだろ。
509 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 15:08:34.53 ] >>503 Aを8倍する
510 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 15:16:14.01 ] ttp://ideone.com/FG5js
511 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 15:42:29.43 ] >>508 理解できますた! C言語簡単っすね^^
512 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 16:03:47.81 ] 簡単でしょ 馬鹿にでも理解出来る言語、それがC言語
513 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 16:08:28.35 ] Cは3日で把握出来る 向いてないド素人でも一月 それ以上かかるなら他の道を探すといい
514 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 16:11:13.45 ] ポインタ関連を3日で習得できるなんて凄いわ。 ポインタ関連以外を3日で把握なら分かるけど。
515 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 16:15:22.62 ] C言語は言語仕様がコンパクトで、演算子が多くて予約語が少ないため 文法を習得するのは確かに簡単 でもポインタに踏み込んだらなまじ他の言語よりも暗い迷路に迷い込むよな
516 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 16:19:48.22 ] こわがりすぎー
517 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 16:31:16.73 ] 標準ライブラリが小さいから習得は早いね
518 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 17:29:35.90 ] アセンブリの代わりだもん、 ポインタ関連が一番重要だ 8bitCPUでもいじくって そのあとにCやれ
519 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 17:35:19.93 ] 個人で組み込み勉強したい場合ってどうしてますか? 製品基盤や専用のコンパイラなんて売ってるんでしょうか?
520 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 17:37:43.83 ] もちろん売ってる。
521 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 17:42:22.63 ] シャープのMZ-80Kでも買ってシコシコ叩けと言うのかw それてもZ80を秋月電子で買ってハンダでジュウジュウと弄れと言うのか
522 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 17:45:43.36 ] ロートルは来なくていいから
523 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 18:10:08.04 ] いやはや全くその通りで、 まずはZ80のキットを購入してはんだごてを手に持ちながら ハンドアセンブルくらいはした方がいい そのほうがCPUとは何かを手に取るように実感できる
524 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 18:18:09.01 ] ジジイはもう(゚听)イラネ
525 名前:デフォルトの名無しさん [2012/07/30(月) 18:21:36.99 ] 0番地から始まる配列の添え字と何が違うって言いたいんだ?
526 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 18:30:01.11 ] いまどきZ80なんてやったって意味ねえよ
527 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 18:56:30.54 ] PIC.、制御関連やるなら知って損はないじゃろ。
528 名前:デフォルトの名無しさん [2012/07/30(月) 19:07:37.85 ] PICやったことあるけど恐ろしくつまらなかった。 ままごとにも程がある。 マイコンって何なの?何のためにあるの? ハードウェアを学ぶ前置き学習用? パソコンじゃだめなん?
529 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:11:22.04 ] あんたの身の回りにある電源や電池のいるものはたいていマイコン入ってるけど
530 名前:デフォルトの名無しさん [2012/07/30(月) 19:12:01.67 ] >>526 いまどきって何だよ 俺は趣味プログラマーなんだよ 世の中はこうなってるとかしらねーんだよ
531 名前:デフォルトの名無しさん [2012/07/30(月) 19:13:06.37 ] >>529 あ?パソコンの中身見たけど あんなおもちゃみたいなブロック入って無かったよ? もっと壮大なスケールの部品ばっかりだったしな!
532 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:13:41.27 ] 家電の組み込みとかのメーカー行きたいとか 自動車やら電車やら電気メーカー行くなら知ってて損ないんじゃないの。 秋葉原が設計と家電の聖地だった時代もあるのよ。
533 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:18:46.94 ] Z80は知らなくていいだろ 時間の無駄
534 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:20:59.23 ] 時間の無駄って言ったら趣味のプログラムも・・・w
535 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:26:02.37 ] H8やSH2などよりはZ80のほうがマシかもな。
536 名前:デフォルトの名無しさん [2012/07/30(月) 19:30:18.59 ] つかCPUのことか? パソコソの蓋開けていじらねーだろどうせ スレ違いなんだよ 電子機器スレ池
537 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:46:20.77 ] 組み込みやるなら情報工学科なんか進学せずに電子科電気科機械科に進んでメーカーに入れ 製品の仕様はハード屋が決めるし組み込みプログラマなんざハード屋の奴隷にすぎない ソフト屋がどんだけ頑張ってもテレビの画質は向上しない 組み込みプログラマなんてのは表面でハードの機能を呼び出してるだけのカスでしかない 奴隷になりたくなかったらソフト屋が主導権を握れる分野に行くかソフトもできるハード屋を目指せ
538 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:47:38.95 ] 四年前に言って欲しかったよ
539 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:53:21.16 ] 米国 「日本はアジアの大国、司令官として憲法9条を破棄すべきだ!そして日本は核武装すべきだ!」 engawa.2ch.net/test/read.cgi/poverty/1343626083/ 日米同盟強化へ 米国は9条改憲歓迎 「反対まったくない」 憲法第9条に基づき、日本は集団的自衛権を行使できないとの解釈が 日米同盟強化への大きな障害になるとする認識はいま米側で広範に強まり、 米国では、現在党派を問わず反対はなく、むしろ暗に歓迎するという姿勢が大勢となった。 92年にはヘリテージ財団が「米国は非公式に日本に改憲を促すべきだ」とする政策提言を発表した。 先代ブッシュ大統領も公式会見で、日本が改憲を求めるならば問題はないと言明した。 民主党リベラル派のトム・ラントス下院外交委員長は「日本が安全保障でも大国にふさわしい役割を 果たすために憲法を改正しようとすることを強く支持する」と述べた。 東京都の石原慎太郎知事が16日にワシントンでの討論会で憲法破棄を提唱したとき、 米側の討論者のリチャード・ローレス元国防副次官は「日本の憲法は確かに米軍占領時代の遺物であり、 日本はそれを変える権利も自由も有している」と述べ、日本の憲法改正にいまの米側には抵抗がないことを明示した。 sankei.jp.msn.com/politics/news/120425/plc12042507090004-n1.htm 米国FOX報道 " We Need a Nuclear Japan " 我々は核武装した日本を求めるべきだ www.youtube.com/watch?v=0TjgNRfGbAE
540 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:55:28.29 ] Z80はともかく、ビルドターゲットのアセンブラは知ってる方がいいね Cで書いてると、期待どおりに生成されてるか(あるいはされてなくはないか) 逆アセンブルして確認することはよくあるから
541 名前:デフォルトの名無しさん [2012/07/30(月) 19:58:20.33 ] >>537 もっと言えば新製品開発とかなら理学部のほうがよくね? 理論を勉強するわけだから。 俺は工学部だから将来は高卒と仲良く工場勤務なんだろうな。
542 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 19:59:34.43 ] Z80=パチンコ
543 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:08:22.34 ] C使いはそっち系ってのがよく分かる流れだなw
544 名前:デフォルトの名無しさん [2012/07/30(月) 20:10:04.63 ] プログラマーの倍率って8倍くらいあるんだろ? 高嶺の花だわ
545 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:10:22.37 ] 90hはNOP
546 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:10:54.88 ] ぼくちゃん物理系出身の土方です^^
547 名前:デフォルトの名無しさん [2012/07/30(月) 20:11:09.57 ] まぁ遠慮せんと好きなマイコン選べや。 akizukidenshi.com/catalog/c/cmicon/
548 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:14:14.61 ] スーパーAKI−80 ¥4,980
549 名前:デフォルトの名無しさん [2012/07/30(月) 20:16:23.97 ] 市販のコンピュータに入っているマイコンはやっぱ電気製品屋では 買えない特注のもんなん?
550 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:19:47.14 ] Z80やるくらいならARMやれ モバイルのアプリくらいなら組ませてもらえるかもね
551 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:24:25.91 ] ポインタとアセンブリの基礎を覚えるには Z80でもいんじゃないの。
552 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:28:06.49 ] 基礎を終えたら買いなおして覚えなおせって?馬鹿じゃねえの
553 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:28:47.38 ] Z80は現代使われている機械語とコードが違いすぎる CASLが実用で役立つとか言ってるレヴェル
554 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:30:46.10 ] 結局のところどれがいいんですか?
555 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:31:41.53 ] Cで遊ぶ分にはどれでもいんじゃないの
556 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:33:49.31 ] >>547 の中じゃARMだな
557 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:38:59.05 ] MASMでいいだろ。すぐ使えるし ttp://www7.plala.or.jp/keny01/asm/win32/
558 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:39:18.00 ] ARMってDSとかに使われてるんだな
559 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:47:23.64 ] クズw
560 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:48:19.95 ] 国産薦めたいところだが、ルネサス筆頭に今まで定番だったCPUが全部廃版になってるので使えないんだよな 新CPUもガッカリだし
561 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:49:17.56 ] 半田このやろう!
562 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:01:58.67 ] ルネサスも親会社も経営やばいし マジどうなるかわからん
563 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:05:33.52 ] お勧めCPUはV30だ
564 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:08:51.79 ] そもそも組み込みってなによ?
565 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:13:09.14 ] お前の目の前にある箱でも使ってみたらどうだ。
566 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:29:46.66 ] 目の前にある箱は組み込みではないが。
567 名前:デフォルトの名無しさん [2012/07/30(月) 21:32:07.10 ] グ グ レ カ ス。
568 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:45:21.21 ] 組み込みってようはアレだよな
569 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/30(月) 21:51:10.34 ] アレアレ詐欺かよ。 アレって何だよ。
570 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 21:57:29.39 ] ARMだろうがSHだろうが、C言語の部分は同じ ハード屋が新製品にRX採用したけど、本当に供給大丈夫なのかね
571 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:05:12.82 ] やっぱりコレはアレですね
572 名前:デフォルトの名無しさん [2012/07/30(月) 22:12:42.38 ] >>537 > ソフト屋がどんだけ頑張ってもテレビの画質は向上しない そこでおまえの人生なんか語られてもねえ・・・ 自らは何もしなかったことがそんなに誇らしいのか? 国賊め
573 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:26:17.64 ] いやLSIの性能で決まるから
574 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:26:32.49 ] インテル入ってる! く・・組み込まれた。
575 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:29:51.93 ] 反原発でうるさいから日本の家電業界はもう終わりだよ。 ウォン安すぎて海外じゃサムスン無双、人件費の安さで中華企業がががが。 日本の技術者も中国語、インド語が必要な時代になるよ。
576 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:32:04.75 ] テレビの画質はソフトで決まる 特にワンセグは補間の仕方でずいぶん変わる
577 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 23:00:15.71 ] その補間だって、本来はハードでやる部分なんじゃないの? ハードでも出来るところはハードにやらせた方がいい 結果全部ASICやらFPGAに置き換えられるならそれが一番
578 名前:デフォルトの名無しさん [2012/07/30(月) 23:00:55.37 ] >>573 最新型のコクピットに座りながら よだれこいて寝てた詐欺野郎がおまえの真の姿だ おまえ存在そのものが製造業全員の敵なんだよ
579 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 23:01:13.97 ] ワンセグのソフトによる画質の違いなんか誰もわかんねーレベルだろ
580 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 23:05:36.40 ] ハードのプログラムもソフト屋が作らなきゃいかんだろ
581 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 23:09:41.50 ] VHDLとかVerilogとかか?普通は情報科のやつはやらね
582 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 23:14:19.61 ] がっこうで ならってないので できません 言えたらいいな。
583 名前:デフォルトの名無しさん [2012/07/30(月) 23:17:46.87 ] 普通が目も当てられなくて仕方なく修士シフトは昔っから始まってる 「自立した研究者とはなんぞ」やと教える博士課程の質に一縷の望みを預けているのが業界 工学部に在籍しながら耳を疑う発言を繰り返すC大T田教授が博士課程の規範という現実から目を背けたい
584 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 00:02:44.17 ] N大U田教授「どんと来い!」
585 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 00:11:51.03 ] ルネサス、富士通までがARMのIPライセンスを取得してるしな ぶっちゃけ外注に出しやすいんでしょ x86よりもマルチタスク向けの命令が強化されてるし
586 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 00:32:42.85 ] ldm/stmはいいね
587 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 01:10:37.99 ] なんだ. Cイラネ
588 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 01:49:12.66 ] 7月29日に行われた「脱原発」の抗議行動前に 日比谷公園で行われていた反日左翼たちの集会の様子 その後、この労組を中心とした反原発デモ行進が始まった。wwwww blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1478.jpg blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1479.jpg blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1494.jpg これで、「多様な人たちが自由に何の制約もなく参加している」とか 「組織型の運動との違いを感じ…」などと良くも言えるものだ! 7月29日 国会包囲 反原発デモに参加された一般人???の方々wwwww 日大全共闘 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1540.jpg 芝工大全学闘&明大全共闘 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1542.jpg アジア共闘●&三里塚闘争勝手連&日米軍事同盟反対 アジア米軍総撤収 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1547.jpg 9条の会 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1582.jpg 郵政労働者ユニオン blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1588.jpg 芸大教組 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1600.jpg 緑の党 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1603.jpg ピースボート (社民党&北朝鮮) i.imgur.com/lY0nX.jpg mamorenihon.files.wordpress.com/2011/05/peaceboat.jpg 今話題の滋賀県教組 takemikazuchi.iza.ne.jp/images/user/20120723/1875097.jpg
589 名前: ◆QZaw55cn4c mailto:sage [2012/07/31(火) 02:35:58.89 ] >>575 >インド語 なにそれ?
590 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 02:36:38.02 ] >>581 やる
591 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 05:09:46.95 ] >>584 なぜベストを尽くさないのか?
592 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 05:24:26.88 ] 電器屋はベストを尽くして就職 ベスト電器
593 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 07:06:02.85 ] 好評につき買収だろ
594 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 07:21:30.23 ] 日本技術科学大学の上田次郎教授
595 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 07:59:52.59 ] 技術科学大学てのは本当にあるからな、 2つも 科学技術大学 だよ 今度からは間違えんなよ ついでに科学技術大学もやっぱり大量にあるからな、 間違えんなよ ともすれば実物の大学をさしちまうぞ
596 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 11:41:26.22 ] >>581 今はCでもハード記述出来るらしいが ファームのC→アセンブラ(マシン語)みたいにC→HDLを生成する
597 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 12:39:31.83 ] 間違ったところで何の害もない
598 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 21:36:25.39 ] >>596 高位合成で使われるのはCのサブセットだよ オリジナルのCから、ハードウェアへの変換が 困難な仕様を削除されたものが多い
599 名前:デフォルトの名無しさん [2012/07/31(火) 22:22:11.19 ] このスレ質問に答えてくれる率が極端に減ったな 誰も質問しなくなったwww
600 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:29:08.24 ] 俺がちょくちょく答えてるだろ 見逃してる質問があったら教えてくれ
601 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:36:11.40 ] 「情報弱者」と呼ばれないために 〜たとえ政治に興味がなくとも、これを知ることは国民 の義務です farm8.staticflickr.com/7145/6520530187_c0c80ff8a7_b.jpg farm8.staticflickr.com/7013/6719110227_2855a7ef07_b.jpg farm7.staticflickr.com/6188/6138002658_85eb1d2445_b.jpg farm8.staticflickr.com/7205/6887664245_d57b0f4279_b.jpg farm8.staticflickr.com/7037/6891009867_1095f43d34_b.jpg
602 名前:デフォルトの名無しさん [2012/07/31(火) 22:37:30.55 ] >>596 RTLな language じゃなく level が変わらなきゃ意味ない
603 名前:デフォルトの名無しさん [2012/07/31(火) 23:04:22.77 ] ある文字が値として入っているメモリを検出するプログラムってどうやりますか? 例えば前のプログラムでchar str="Orange"; みたいなプログラムを作って、実行終わって どこかのメモリにOrangeという値が入ってますよね。 その番地を探すプログラムを教えて下さい。
604 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 23:14:45.03 ] > どこかのメモリにOrangeという値が入ってますよね。 ダウトくせーな OSがサッサと掃除してんじゃね?
605 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 23:24:01.17 ] >>603 char str="Orange"; は char *str="Orange"; の間違いだとして、 printf("%p\n", str); でアドレスが分かる。 但しデバッグコードが入ったせいで、アドレスが変わるかもしれん。 後は、コンパイルオプションでマップファイルを出力させたり、nmみたいな コマンドを使うとかかな。
606 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 23:31:43.42 ] 仮引数だったら・・
607 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 23:32:24.49 ] >>603 パスワードロガーでも作る気ですか? いけませんねぇ。
608 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 23:44:21.51 ] /dev/mem でダメなら諦める
609 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:25:08.36 ] 「前のプログラムが使っていたメモリ内容」が読めるなんてのは セキュリティホールだっつーの。
610 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:55:26.25 ] >>603 よっ!変態くん!
611 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 12:26:32.72 ] >>603 今どきではそうとう運が良くないと見れない。 プログラム起動時にメモリ配置が毎回ランダムになるよう 設定されているのがほとんどなので、スタックやヒープを 覗ける可能性がぐんと低くなった。 あとmalloc系は仕様はともかく実装上ゼロクリア扱いしてるはず。
612 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 12:34:07.51 ] 0じゃねーし
613 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 12:37:45.20 ] んじゃナニよ
614 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 12:50:37.68 ] フフフノフフフならVCでよく見る
615 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 13:29:50.45 ] それはデバッグビルドだろ。
616 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 14:46:54.14 ] うん
617 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 16:01:49.79 ] BSD UNIXは互換性のため、スタックをゼロ初期化してたはず
618 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 17:15:39.15 ] スライダーとプログレンスバーの動きを連動するプログラムの書き方をおしえてください
619 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 17:19:51.77 ] プログレンスバー
620 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 18:19:40.52 ] プログレスバーだったはずかし
621 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 19:09:57.36 ] で、そのスライダーだとかプログレスバーだとかは一体全体どこの代物で?
622 名前:デフォルトの名無しさん [2012/08/02(木) 19:26:34.12 ] フフフ
623 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:01:41.41 ] ミマ礫ァ
624 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:12:29.96 ] ふむふむ
625 名前:デフォルトの名無しさん [2012/08/02(木) 21:24:38.20 ] printf("%f\n", 10 || 0); って10のはずですが何故か0になります。何故でしょうか? 積ではなく和のはずです。 a=3.0として printf("%f\n",++a);が4になります。何故でしょう? ++aはaをインクリメントするから++a自体は3でaが4だと思うのですが。
626 名前:デフォルトの名無しさん [2012/08/02(木) 21:25:12.29 ] printf("%f\n", 10 || 0); って10のはずですが何故か0になります。何故でしょうか? 積ではなく和のはずです。 a=3.0として printf("%f\n",++a);が4になります。何故でしょう? ++aはaをインクリメントするから++a自体は3でaが4だと思うのですが。
627 名前:デフォルトの名無しさん [2012/08/02(木) 21:27:00.85 ] int a=3; printf("%d %d \n",++a,a); 結果 4 3 何故だ....... ++aしたのに何故aが3?
628 名前:627 [2012/08/02(木) 21:28:28.35 ] わけてかくと int a=3; a++; printf("%d \n",a); このときは結果4になる.... 震えがとまらない。怖すぎる。何故だ。
629 名前:627 [2012/08/02(木) 21:29:53.49 ] int a=3; printf("%d %d \n",a++,a); 3 3 えええwwwwwwwwww まじで分からないので解説を。
630 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:30:18.30 ] 目星は付いてるけど規格票確認するのが面倒 誰かに任せた
631 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:32:36.36 ] だれだよこんなアホ連れてきたのは fuck(a,++a,++a)
632 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:34:03.70 ] 関数引数の評価順は環境依存 foo(a++@,a++A,a++B); @→A→B とか B→A→@ とか順番は定まっていない のでそんなことスンナ
633 名前:627 [2012/08/02(木) 21:35:00.31 ] >>630 a++と++aの違いはどうでもいいです。 一番怖いのが ↓ int a=3; printf("%d %d \n",++a,a); 結果 4 3 分けて書くと 結果 aは4になってる 意味が分からない。
634 名前:627 [2012/08/02(木) 21:36:05.44 ] >>632 なるほど ってことは a=3 ++a; printf("%d\n",a); でも環境によっては3ってこともあるのでしょうか?
635 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:37:43.57 ] >>633 今晩は馬鹿、エアコンのスイッチいれた?
636 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:38:00.11 ] ぷぅ〜
637 名前:627 [2012/08/02(木) 21:38:56.52 ] >>635 エアコンのスイッチって何でしょうか。
638 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:39:16.10 ] >>634 それは無い a=3 の次に ++a が行われて printf の引数に a を渡す
639 名前: ◆QZaw55cn4c mailto:sage [2012/08/02(木) 21:40:07.10 ] >>625 >printf("%f\n", 10 || 0); >って10のはずですが何故か0になります。何故でしょうか? codepad.org/mDg8Dx8P 参考:codepad.org/vj989ZaR 10 にも 0 にもならないようだ。処理系はなんですか? 1) || は論理和、int で 1 を返す。 2) printf() は、第一引数と第二引数以下が完全にマッチしないと想定した結果を返さない。 ただし例外として float -> double の格上げ、あるいは int への格上げがある。 ちょっと複雑だが、こう考えるとよい。コンパイラは printf() を翻訳するとき、第一引数 "%f\n" のことなどさっぱり忘れて第二引数以下を翻訳する。 第一引数が %f だろうが %d だろうが無頓着、無視、無関心に、第二引数 10 || 0 を単独で存在するかのように翻訳する。
640 名前:627 [2012/08/02(木) 21:40:12.02 ] >>638 ありがとうございました。 ところでprintf("%f",10 || 0);が0になるのは何故でしょうか?
641 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:40:18.78 ] ぽぽぽぽーーーーーーーーーーーーーーーーん ぽっぽぽぽぽぽ ぽぽぽっぽ ぽんぽぽぽぽぽ ぽんぽぽぽ ぽぽっぽぽぽっぽ ぽんぽぽぽ ぽぽんぽぽぽんぽぽぽぽぽぽ
642 名前:627 [2012/08/02(木) 21:46:35.79 ] >>629 処理系はWindowsXPです。 後 printf("%f\n", 10%3-1.0 <4.0 ? 1 : 0); の値も0になります。何故でしょうか? 10%3は1ですから 1-1.0<4.0で正しい。 正しいときは?の左側を表示する関数なので 1と表示されるはずなのに0です。 何故ですか?
643 名前: ◆QZaw55cn4c mailto:sage [2012/08/02(木) 21:49:44.82 ] >>642 codepad.org/Xkkd3zds 0 になる可能性が想像できない。コンパイラのメーカーや種類を教えてください。
644 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:51:16.45 ] %f で浮動小数点数として表示させようとしてるのに、整数値を渡してるから %d にしろ
645 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:51:48.21 ] 夏休みだね
646 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:52:58.02 ] >>637 頭熱暴走してないか?
647 名前:627 [2012/08/02(木) 21:54:33.31 ] >>643 0ではなく0.00000ですね。 コンパイラはvisual studioです。 PCのメーカーは東芝で機種はdynabookです。
648 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:55:57.01 ] VC++でビルド開始、ビルド失敗 ↓ 前回成功時のファイルを実行
649 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:56:27.74 ] エスパーが必要だな
650 名前: ◆QZaw55cn4c mailto:sage [2012/08/02(木) 21:58:23.01 ] >>627 , >>629 難しい話になりますが、「シーケンスポイント/副作用完了点」というキーワードが該当します。 www.kouno.jp/home/c_faq/c3.html#8 これを納得するには数々の経験が必要となりますので、当面の間は、関数の引数に ++ とか -- とかは使わない方針をとるのがいいでしょう。 f(a, b, c) なら c, b, a の順に処理されるコンパイラが圧倒的に多いしそうなる理由もある、これを仮定するのは非常にまずいとはいえ。
651 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:02:48.05 ] printf("%f", 1); >0.000000
652 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:22:10.94 ] >>626 ttp://ideone.com/vYbQB
653 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/02(木) 22:25:05.75 ] 整数の1は (リトルエンディアンで) 以下のような並びになる。 00000001 00000000 00000000 00000000 これを浮動小数点と解釈して符号部、指数部、仮数部に区切りなおすと 0 00000010 00000000000000000000000 となる。 これは約 2.35e-38 というめっちゃ小さい値なので、 %f の書式で表すと 0.000000 となってまう、 ということなんじゃないかと思う。
654 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:28:58.65 ] >>653 %fはdoubleだヴォケ
655 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:38:28.18 ] printf("%f\n", 1); printf("%f\n", 1.0F); printf("%f\n", 1.0); printf("%f\n", (int)1.0); 0.000000 1.000000 1.000000 1.000000
656 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:39:54.68 ] 意外と知られてないのが j = 1, k = 3で i = ++j, k; とした時の i の値 実行せずに何になるか当ててみよう
657 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:41:06.97 ] 3
658 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:42:27.89 ] 2
659 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:43:05.05 ] 括弧でくくれバカ
660 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:44:31.88 ] (i = ++j), (k);
661 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:45:39.31 ] それ以前にこんな書き方をする意味がない。
662 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:48:08.90 ] 知ってる奴が知らない奴を見つけてニヤニヤする意味がある
663 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:03:24.39 ] >>655 ttp://ideone.com/hxdVB 4番目でちょっと悩んじゃった 可変長引数は書式関係なくint(ex:4バイト)、double(ex:8バイト)、*(ex:4バイト) でスタックに積むからゴミが残ってたんだよね
664 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:09:00.69 ] ほんと仕様が煮詰められてない糞言語だな
665 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:24:42.30 ] 仕様が厳格に決まってないからこそ他言語との親和性が維持できることもあるんだよ。
666 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:27:46.58 ] ないない
667 名前:デフォルトの名無しさん [2012/08/02(木) 23:36:19.28 ] >>656 を厳格に 2 と答えられないどあほとの親和性は維持できなくていい ちなみに問題文に誤りがあってセミコロンが足りないが、そういう問題じゃない
668 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/02(木) 23:43:57.23 ] >>654 うわ┗(^o^ )┓ああああ┗(^o^ )┓ああああ┗(^o^ )┓ぁぁぁぁ┗(^o^ )┓ああああ┗(^o^ )┓ 「ANSI C言語辞典」では float もアリって書いてあったのでそれを信用したんだが…。 gazo.shitao.info/r/i/20120802234040_000.png JIS 規格にはそんなこと書いてなかった!!! gazo.shitao.info/r/i/20120802234141_000.png でもまぁ原理としては同じなのでそこらへんは柔軟に読み替えてくだせぇ。
669 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:50:18.11 ] 高度な柔軟性を維持しつつ 臨機応変に対応 ですね すばらしい文言です あなたを師と仰ぎ どこまでも付いてゆきましょう
670 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:51:29.31 ] 含 風呂・トイレ
671 名前:デフォルトの名無しさん [2012/08/02(木) 23:55:03.45 ] >>668 おまえさ、そんなの貼って誰かありがたがるとでも思っているわけ? 仮にいたとして、おまえと同類だけだぞ
672 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/02(木) 23:58:37.97 ] >>669 銀英伝は二次創作をいくつかちょろっと読んだだけだが、 それは印象的な場面としてよく使われてるみたいだねぇ。
673 名前:デフォルトの名無しさん [2012/08/03(金) 00:01:03.25 ] 難しい漢字がボヤけてるのは何故? 見たこと無い漢字とか明らかに輪郭がくっきりしてないんですが。 何十年も昔のPCからそうだったんですか?
674 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:06:20.56 ] >>668 ずいぶんと参考になりました。私はビット表現まで追いかけてなかったがばれてしまった‥‥‥。それはそれで一層いや一生の恥ですorz それはそうと、それ、厳密な典拠は特定できていなくてちょっと困っています。 ISO/IEC 9899:1999 6.5.2.2.6 If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions. で、これはプロトタイプでは ... で表現されているために「プロトタイプに含まれない式」になってしまった場合、その引数は float->double になってしまうようです。 問題は If the function is defined with a type that includes a prototype, and either the prototype ends with an ellipsis (, ...) or (略), the behavior is undefined. がなんのことやらさっぱり。
675 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:06:29.14 ] 調子に乗って符号なし整数をなくしたJavaなんて言語もあったな
676 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:09:09.64 ] アンチ
677 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:10:45.73 ] インチ
678 名前:デフォルトの名無しさん [2012/08/03(金) 00:25:33.78 ] ウソッキー
679 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:33:35.00 ] printfで2進数表示お願いします。
680 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:44:42.57 ] ideone.com/37iII
681 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/03(金) 00:59:57.45 ] >>674 前者は省略記号 (...) とは関係ないんじゃないかな。 「プロトタイプを含まない型を持つ関数」というのは例えば hoge(); というようなプロトタイプ宣言されている関数ということで、 これに対して hoge(14, 1.24f); というような呼び出しをした場合にはこの 1.24f は double に拡張されるということ。 後者については前者のようなプロトタイプ宣言があった上で hoge(int a, double b) { /* 省略 */ } というような定義であれば大丈夫なんだけど、 hoge(int a, ...) { /* 省略 */ } という定義だとか hoge(int a, float b) { /* 省略 */ } とかだったら未定義になるということを言いたいんだと思う。 つまり前段はプロトタイプ宣言のことで後者は定義ってことで。
682 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 01:11:33.96 ] >>680 感謝!
683 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/03(金) 01:16:42.64 ] >>674 つまりはその項目は今回の printf の件とは無関係。 float は float として渡されるのであり、 受取った方がその型を知る方法は書式指定によると理解していいと思う。
684 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 01:33:00.41 ] floatはdoubleとして渡るんじゃないかな〜
685 名前: ◆QZaw55cn4c mailto:sage [2012/08/03(金) 06:03:44.98 ] >>681 規格の後段について、よく理解できました。ありがとうございます。 規格の前段の記述が hoge() のみの事情なのか printf() にも適用されるのかは、意見が相違するようですね。 >>683 ふむ。 しかしいまとなっては参考にするには古いK&R2=C89・付録A7.3.2 には次のとおりで(以下<>内はQZ) 省略形<=", ...">の場合、引数<実引数>の数はパラメータ<=関数定義やプロタイプ宣言での引数型宣言>の数と等しいかあるいはそれより多くなっている必要がある。 型が明示されているパラメータの後に続く引数は、前のパラグラフ<=K&R1の関数定義について>で述べた省略時の引数格上げの受ける。 とありC89 の場合であれば printf() のような可変長引数の、可変長部分、すなわちプロトタイプのない実引数は格上げを受ける、と読み取れます。 なお、K&R1 ではどんな float も double に変換されてしまうという(int main(); int c; char **v; だったし)事情が、 K&R2=C89 では可変長部分やプロトタイプの部分に限定されるようになったとは理解しています。 ともあれ、これに対応する C99 の記述はどこなのか、それとも C99 は自動格上げを行う範囲をさらにさらに限定したのかいまいち判然としないところです。 >受取った方がその型を知る方法は書式指定によると理解していいと思う。 これはK&R1の呪縛に囚われた身には辛い。>>639 と解釈してきた以上、printf() 第一引数の書式指定が printf() の第二引数以降の型を規定するとは考えにくいのです。
686 名前:685 mailto:sage [2012/08/03(金) 06:53:41.04 ] 訂正しておきます。 ×K&R2=C89 では可変長部分やプロトタイプの部分に限定される ○K&R2=C89 では可変長部分やプロトタイプの明示されない部分に限定される
687 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 07:17:19.71 ] gccなんかじゃ%fにintなら警告出してくれるけどな。
688 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 07:26:00.77 ] printfが%fでscanfが%lfの理由
689 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:28:15.32 ] 何故このスレではscanfが人気なのか。
690 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:31:35.42 ] 入門だからでしょ
691 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:36:36.28 ] scanfぐらい使いこなせるようになった方がいい
692 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:38:08.30 ] ↑アホ
693 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:40:40.74 ] 入門者なんだからしょうがない 入門者なんだから 入門者だと思って太めに見てやれよ たかが入門者だぞ 入門者に目くじら立ててどうする 入門者は入門者だと割り切って接するのが一番の方法だよ
694 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 08:45:27.00 ] 入門者の入門者による入門者のためのスレ
695 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 09:58:20.70 ] >694 入門者が返答してるの?
696 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 10:02:13.47 ] 少なくとも scanf使いこなせ と言ってるお方は そういう部類のレヴェルだろ 察しろよ
697 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 10:05:54.26 ] scanfくらい使いこなせなくてどうするよ エラー処理が不要なら簡潔に書けるし
698 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 10:24:29.69 ] 特殊なC言語入門 quaternion.pineappledesign.org/c
699 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:07:05.32 ] scanf()はどうでもいいけど、sscanf()を一通り使えるようになっておくと捗るぞ。 それはさて、引き数リストを明示していない関数宣言のことは、プロトタイプ宣言とは呼ばないんじゃないのか?
700 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:13:53.68 ] 呼ぶんじゃないの?
701 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:28:17.60 ] 可変長引数である事を明示してるでしょ
702 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:41:59.03 ] 無宣言でいきなり利用 printf("%f", 1.0F); 戻り値だけ宣言 int printf(); .... printf("%f", 1.0F); 引数も宣言してるけど、可変長引数でした int printf(const char *, ...); .... printf("%f", 1.0F);
703 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/03(金) 12:47:10.35 ] >>699 それもそうだな。 たぶん呼ばない。 >>701 いや、引数リストが無いのは可変長引数であることを意味しない。
704 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:50:30.35 ] プロトタイプなしとか、引数なしプロトタイプとか いい加減C++っぽく統一してほしい
705 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:53:57.56 ] ttp://ideone.com/I7Wir
706 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 12:54:16.15 ] >>703 ん、「明示してない」ってのは「無い」っていう意味で言ってたの?
707 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/03(金) 12:58:08.12 ] >>685 俺が根拠にしてるのは JIS なんだが、そこでの記述はこうなってる。 > 呼び出される関数を表す式が、関数原型を含まない型をもつ場合、 > 各実引数に対して整数拡張を行い、型 float をもつ実引数は型 double に拡張する。 日本語でもかなりわかりにく表現だな。 ... で終わる宣言がプロトタイプを含まない宣言なのであるとすれば、 void hoge(float a, ...); という宣言に対して hoge(1.23f, 1); と呼び出した場合でもこの 1.23f は一旦 double に拡張されるってことにならないか? それも変な話だと思う。 更に読み進めていくと > 関数原型宣言子における省略記号標記は、 > 最後に宣言されている仮引数の直後から実引数の型変換を止める。 > 残りの実引数に対しては、規定の実引数拡張を行う。 とあるので printf に渡した第二引数以降は型変換しないということだでいいんじゃないかな。
708 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 13:55:03.44 ] >>702 原因はオーバーフローなのか どうなのか仕組みから説明しないと・・・ そこが肝要だと思うのです。
709 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 14:24:31.25 ] >と呼び出した場合でもこの 1.23f は一旦 double に拡張されるってことにならないか? ならない。aという引数はプロトタイプを持つのだから。 プロトタイプを持たないのは...の部分。 >とあるので printf に渡した第二引数以降は型変換しないということだでいいんじゃないかな。 多分理解がおかしい。一部の変換(配列→ポインタ、関数→ポインタ、LValue→RValue)もするし、拡張もする。 例えば、 char *p="ZZZ"; printf( "%p", p ); はchar*を(LValue→RValueはするけど)void*へは変換しないで積む。 これが "実引数の型変換を止める"と言うこと(というか、変換のしようがない)。 # ちなみに、これは鼻から悪魔が出るかもしれないコード。%pはvoid*を要求するから。 で、 printf( "%f", 4.2f ); は "規定の実引数拡張"が行われてdoubleな4.2がprintfに渡る。
710 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/03(金) 14:45:28.91 ] >>709 > ならない。aという引数はプロトタイプを持つのだから。 > プロトタイプを持たないのは...の部分。 俺もそう思うんだが、文章の曖昧さの話。 呼び出される関数が関数原型を含まない型をもつか否かで 挙動が分かれるようにも読める。 > 呼び出される関数を表す式が、関数原型を含まない型をもつ場合、 > 各実引数に対して整数拡張を行い、 > 型 float をもつ実引数は型 double に拡張する。 本当は > 呼び出される関数を表す式が、関数原型を含まない型をもつ場合、 > (関数原型を含まない) 各実引数に対して整数拡張を行い、 > (関数原型を含まない) 型 float をもつ実引数は型 double に拡張する。 ってことでいいんかな。
711 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 14:58:07.68 ] まぁそういうことだろうね。
712 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/08/03(金) 15:11:29.41 ] >>709 > 多分理解がおかしい。 > 一部の変換(配列→ポインタ、関数→ポインタ、LValue→RValue)もするし、拡張もする。 言葉が足りんかった。 元々の QZ 氏の主張を要約すると 「省略子を使った場合はプロトタイプが無いわけだから float → double への変換が行われる」 というものだったけど、それに対して「省略子で書いたことによっては変換は起こらない」という ことを言いたかったもので、一般的な変換についてまで否定したわけじゃないよ。
713 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 15:43:07.15 ] 昨日質問したんだけど 使わないような難しい漢字は何で輪郭がぼやけてるんでしょうか? あれはどういうことですか? C言語では最大何語の漢字をサポートしてますか?
714 名前:デフォルトの名無しさん [2012/08/03(金) 16:00:35.79 ] >>712 わざわざコテつけて言うようなことじゃないよ。 >>713 お前、何人?
715 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 16:34:13.32 ] >>714 俺はひとりに決まってるだろ
716 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 16:50:08.88 ] 半人前のクセに
717 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 16:58:35.10 ] >>713 その質問のどこがCの質問? それぞれGUI環境や文字コードの話だと思うのだが。
718 名前:デフォルトの名無しさん [2012/08/03(金) 17:44:24.51 ] >>717 でもC言語のchar a; aが67でしょ? 対応してるじゃん。 a='2000'だと何かの漢字になったりしないの?
719 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 17:50:03.84 ] アンチって言ってるだろ アホ
720 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 17:53:08.18 ] ピーカーチューー!
721 名前:デフォルトの名無しさん [2012/08/03(金) 17:56:17.69 ] char graph; graph='F'; と するとgraph=Fつまり文字を記憶する変数であり C言語は数値だけでなく文字も記憶できるんですよね? だから graph='数'; みたいには出来ないのはなぜかなと。
722 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 17:57:21.45 ] >>721 wchar_t があるだろ
723 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 17:58:47.57 ] だから文字コードを勉強して来いと。
724 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:04:09.60 ] どこからどこまでがC言語の仕事でOSの仕事なのか分からない
725 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:05:59.67 ] >>724 おまえがC言語とOSがわかっていないことは分かる
726 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:06:17.55 ] #include<stdio.h>あるじゃないですか stdio.h自体はC言語と関係ないもんなんですか?
727 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:12:03.97 ] あなたのおっしゃる〈関係〉とは一体どういう意味を含むのですか? 哲学的・形而上学的な観点から、 あなたは〈関係〉という概念を、どのように把握してらっしゃいますか?
728 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:12:14.15 ] うん
729 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:17:43.74 ] >>725 分からないプログラムは組めるけど機械的にやってるから OSに命令を与えるための素材を集めてGUIによって可能にした系=C言語?
730 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:18:00.29 ] 日本語では、どれだけの単語が扱えますか?
731 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:22:52.67 ] 山は死にますか?
732 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:25:01.82 ] 髪は死にますよ 気をつけましょうね プログラマのみなさん
733 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:25:29.37 ] >>729 冗談抜きで、日本語の表現力を少しは身に着けたほうがいいぞ。 ついでに、パソコンの仕組みも。
734 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:32:48.39 ] 無知が背伸びするとしばしばこうなる
735 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:36:56.00 ] どういう経緯でC言語をやろう(この言い方も変な感じだが)と思ったのかも気になるな
736 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:37:22.18 ] APIやdllについて聞いたら殴られそうな勢いだなw
737 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:40:06.08 ] >>736 C言語以外の言語からも呼び出せますしー
738 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:43:12.26 ] 骨の髄までしゃぶってるのがC使いだから・・ C使いにAPI関を連断られると厳しいものがあるなw
739 名前:デフォルトの名無しさん [2012/08/03(金) 18:47:10.93 ] 日 本 語 で お k。
740 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:51:24.15 ] ではC言語は何かと聞かれて答えられる学生はいるの
741 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:59:46.52 ] OSに指示を出すための言語がプログラミング言語だと思うのですが プログラミング言語はどうやって作るのですか? 今はWindowsがあるから何でも可能ですが昔の低水準マシンにおいて はどうやって作っていたのでしょうか?
742 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:00:17.68 ] 哲学スレでやってください
743 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:05:44.90 ] めんどくさそうな人間の相手は 誰もがやりたくない事なんだ
744 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:07:02.78 ] うん
745 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:09:12.81 ] 古いgcc のソース追っかけたら? メタなCを喰って実行コードを吐くコンパイラをCで書いといて アセンブラ化 それで出来あがったコンパイラを使って 複雑さを増したCで書かれたCコンパイラのソースをコンパイルして… それで出来あがったコンパイラを使って… ってな感じだったような
746 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:17:53.67 ] 低水準でも言語だよ プログラミング言語だよ クソ機械語はプログラミング言語だよ お前は情報科過程ひとおおり眺めてざっと理解してから質問しろ 時間の無駄だ
747 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:22:42.31 ] むかしVBで挫折してて、今回C始めたらC面白いでやんの。 初めからCやっときゃよかったわ。 構造が分からずに手を出すより、構造を知りながら覚える方がおもろいな。
748 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:34:24.44 ] おもろいね。
749 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:36:29.66 ] そうでもない
750 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:36:33.60 ] 最初の頃やったPerlはわけわからんかった 今でもトラウマあってPerlには手を出してない
751 名前:デフォルトの名無しさん [2012/08/03(金) 20:09:42.58 ] UnixとかだとCコンパイラがなくてもC言語組めたの? Windowsだと環境入れないとだめでしょ
752 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:10:06.83 ] >>749 そうでもないね
753 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:16:19.57 ] アセンブリから機械語に変換するときにはコンパイラは無い ハンドアセンブルしてた 実際、微細に渡る変換規則があれば C言語もハンドアセンブルできる というよりも コンパイラの仕事は全て人力で、ノートと鉛筆ででもできる でも 余りにも時間を喰うから *自動プログラミング* してる
754 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:21:42.23 ] 昔の人は16進で命令覚えてたって言うしな
755 名前:デフォルトの名無しさん [2012/08/03(金) 20:21:51.34 ] UnixのCを組める環境って何がある? Osに元から備わってたり?
756 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:24:17.21 ] UNIXはCで書かれた これがどういうことか一晩考えろ 夏だから時間あるだろ
757 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:25:44.78 ] UNIXでCか。 "ken thompson" unix login でぐぐると面白い話がかかるな。 Unixモンには当然知ってる教養レベルだが。
758 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:26:08.14 ] >>756 それは、一部間違っている。 UnixはCで書き直された。という表現の方が正しいと思う。
759 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:29:26.50 ] >>753 アセンブリの状態からでもアセンブルは必要なんだね 結局コンパイルと一緒かと
760 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:41:13.53 ] Unixってタダでしたっけ?
761 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:42:30.51 ] アセンブラ版はunicsだろ 無知供が
762 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:42:30.64 ] 学術だし
763 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 20:47:41.05 ] >>760 UNIXは商標だから有料商品だよ。 Unix"系"はいろいろあるけど。
764 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:03:48.19 ] >>761 教養がないので一応wikiで見てみたけど、 unicsからunixへの改名のタイミングは書いていないけど、 「the UNIX Programmer's Manualが1971年3月に出版された。」とあって、 「UNIXは1973年にC言語に移植された。」 とあるから、時系列的には unixでもアセンブリ言語版ではあるんじゃない?
765 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:05:57.90 ] Windows95の前でしたっけ?その頃もWindowsOSはありましたよね。 どんな環境でC言語プログラム作ってたんです? インターネットもないため開発環境インスコできなかったと思いますが。
766 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:07:36.09 ] どうだろうね
767 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:10:57.27 ] >>766 平成生まれですか
768 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:14:02.57 ] PC-98で5インチFD版のQuickCをですね
769 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:14:15.17 ] >>765 DOS環境でもCコンパイラはいっぱいあったよ。 うちの専門学校では"Turbo C"だった。 あと、"Microsoft C" とか "Quick C"とかあったな。名前しか覚えていないけど。
770 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:21:17.97 ] gnuが幅効かせる前のホビープログラマの無料環境は 16進直打ちでアセンブラ作ってプログラミング アセンブラコードをバイナリデータで持ってBASICから呼ぶ これ
771 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:25:00.19 ] いま思えば、20年前の専門学校時代にC言語でオブジェクト指向的な事 (カプセル化・ちょうどアクアゾーンが流行り始めてた)や ベジエ曲線とか結構面白いこと教えてもらってたな。 >>770 ベーマガとかで投稿していた方ですか?
772 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:28:48.55 ] 8086のセグメントとかFARポインタで挫折したな intは16ビットですぐオーバーフローするし
773 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:29:27.85 ] >>771 うん
774 名前:デフォルトの名無しさん [2012/08/03(金) 21:38:05.58 ] BASIC の DATA 文がある意味アセンブラだったな
775 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:40:10.69 ] マシン語ダンプリストとチェックサム Bと8をよく打ち間違えた
776 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:41:20.85 ] 無期懲役食らった星島貴徳ってプログラマーとしてはかなり優秀だったと思います?
777 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:42:03.19 ] 一応、ここは、C言語スレだったりします。。。
778 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:42:29.42 ] 私もついに、中途半端な回顧厨が若造の戯言言っているようにしか見えなくなってしまったか。
779 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:47:43.31 ] >>729 まずコンピュータの仕組みを勉強しなさい。 本屋にいけばその手の本が積んである。 それからOS、プログラミング言語とかより詳しいことを勉強したら。
780 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:59:47.75 ] >>779 自作OSを夏休みの自己課題として作りたいのですがやはり困難を極めるでしょうか? 本当に簡素なOSで良いんです。
781 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:07:53.14 ] >>780 仕組みが分かってないものどうやってつくるの? プラモなら半完成品があるが
782 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:11:01.18 ] だったらOSの作り方とか書いてある本読めよ
783 名前:デフォルトの名無しさん [2012/08/03(金) 22:17:48.08 ] >>780 どっさりハードが絡んでくるから この板の範囲を遙かに超えるぞ 半田ごては絶対やーよという向きには VM という手もあるが、それはそれでまた侮れない
784 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:19:01.80 ] OSて組み込み?
785 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:21:03.36 ] OS作るだけならハードは要らない。 でも、既存ハード用のOSとなるとドライバがたんまり必要になる。 ドライバが要らないハードとなると、ワンボードマイコン辺りになるから やはりハードの知識が必要に。
786 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:28:20.02 ] >>780 それからソフトの作り方も勉強したら なんとなくつくって動かしているじゃつかいものにならん
787 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:37:28.62 ] すみません enum { StateNormal = 0, StateAbnormal = 1 << 0, StateA = 1 << 1, StateB = 1 << 2, StateC = 1 << 3 }; typedef int State; みたいな列挙型があって、この型で表されるstateを調べたいとき、 排他でないA, B, Cはビット積&を取ればいいと思うのですが、 NormalかAbnormalかを調べるときはどうしたらいいのでしょうか?
788 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:55:43.95 ] 列挙型の使い方がまちがっとる。
789 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:58:19.83 ] >>787 仕様次第。 Normalと言う状態は、 state == StateNormalなのかもしれないし、 Normal: (state & StateAbnormal) == StateNormalなのかもしれない。 Abnormalと言う状態は、 state == StateAbnormalなのかもしれないし、 (state & StateAbnormal) == StateAbnormalなのかもしれない。 そういう意味ではAについても (state & StateA) == StateAなのかどうかは使用を確認しないとなんとも言えない。
790 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:00:18.13 ] すみません。A, B, Cを無視してNormalかAbnormalかを調べること自体がおかしいという話でした。 Abnormalも含めてNormal以外がいずれも1でないとき、すなわち0のとき、かつそのときに限りNormalでした。
791 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:02:47.28 ] 言いたいことはよく判らんが、 state == StateNormalのときにNormalということなんだな。 使い方が巧いかどうかは知らんが、よくある使い方だな。
792 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:05:31.18 ] >>789 ありがとうございます。 まさに (state & StateAbnormal) == StateNormal のときNormalだと思っていたのですが state == StateNormal のときだけがNormalだったようです。 ちなみに引っ張ってきたのは, Objective-CのUIDocumentStateからです。
793 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:46:00.65 ] OSを作るだと?マルチタスクは超難しいぞ 卒論の範囲を遥かに超える
794 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:55:02.97 ] 別にシングルタスクでいいじゃん。 そういえば20年くらい前に友達が卒論でCP/M80をマルチタスク拡張した OS作ってたなぁ。
795 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 00:00:07.08 ] 何も考えずに排他制御すればとりあえず出来るけどデッドロック、スタベーション、レース状態は 普通に起きるんでそれを回避するAPIを作るのが面倒くさい
796 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 00:08:12.92 ] 別にOS自体はシングルタスクでもいいじゃん。
797 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 00:28:40.59 ] >>792 いえいえ
798 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:23:08.33 ] >>741 コンパイラ自身はどうやってコンパイルしたと思ってんの?
799 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:25:33.18 ] 最初のコンパイラは神が与えた
800 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:27:42.93 ] コンパイラなんて使わずハンドアッセンブルしたに決まってんじゃん
801 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:32:13.55 ] >>780 フロッピーから起動してコマンドを入力させる仕組みを作れるもんなら作ってみろ もちろんDOSに頼らずにゼロからだ OSを作るってそういうことだ お前には無理
802 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:35:28.28 ] コンパイラコンパイラも知らないガキンチョか
803 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:58:10.06 ] あ〜あ…
804 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 02:15:44.48 ] ゆとりの俺からすると昔の人は変態的
805 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 04:37:11.48 ] 変態に支えられて経済発展したんだな
806 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 06:11:08.26 ] イタヅラし放題〜♪
807 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 06:54:13.25 ] 板ずらし放題
808 名前:デフォルトの名無しさん [2012/08/04(土) 12:12:02.91 ] すみませんC言語は先週から始めた超初心者です text="12345ABCDE"という文字列の中から『○番目』の文字のみ抽出する方法か関数があれば教えて下さい。 よろしくお願いします。
809 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 12:21:44.96 ] >>808 ttp://ideone.com/NioEX
810 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 12:22:28.20 ] text[i]
811 名前:デフォルトの名無しさん [2012/08/04(土) 12:30:33.38 ] >>809-810 ありがとうございます!!!!!!!!! こんな単純なことすら思い付かない自分が悔しいですorz C言語なんてものに向いていないのかもと不安ですが、これからがんばってみます!! またよろしくおねがいします!
812 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 12:41:14.67 ] 最初はみんなそんなもんだ。 習うより慣れろ。 バッドで100回素振りしたらそのうちヒットもでるさ。 それと同じ、何回コーディングしたかの違い。 不安なんて関係ないよ、丸写しでもいいから書いて 分からない部分を調べるかヘルプで読むだけの話。 書く、調べる、覚える。 これを繰り返すか繰り返さないかの差でしかない。
813 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 14:07:08.30 ] ほっこりした。
814 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 14:41:34.72 ] 1 毎日、暗記するくらい手引書読む 何ページに何が書いてあるか覚えたら卒業 2 1で分からない部分を解説してあるサイトやら本を暗記するくらい読む 3. 難しい部分はとりあえず置いて理解出来るコードをひたすら書く 4. ちょっとだけ難しいコードを混ぜて覚える 以下ループ そうやってみんな中級者になっていく。 上級者になると言語の仕様書が頭の中に入ってる。 やってることは初心者の頃と同じ。1-4の反復
815 名前:433 mailto:sage [2012/08/04(土) 15:10:11.10 ] みなさんのお力をお借りさせてください。 void Object () { if ( switch_01 == 1 ) { /* 構造体変数の宣言 */ struct s_int iobject ; // iobject /* 構造体変数の初期化 */ // iobject.index = "1" ; // char型の文字代入ができない問題 iobject.x = 112 ; iobject.y = 96 ; switch_01 = 0 ; // 初期化スイッチを切る(0がOFF) これでもうこの処理には入らない } DrawGraph ( iobject.x , iobject.y , SPRITE [ 0 ] , TRUE ) ; // キャラクターを表示する } 構造体変数の利用についてです。コメント等は読み飛ばして〜〜〜〜! これで最後のDrawGraph(すいません。不可解な単語は全部ルーチン名です)の引数[iobject.x,iobject.y]が定義されていない、とコンパイラ君に言われるのですが、構造体変数って同じ階層で定義してその階層でしか参照できないのでしょうか? ifを使わずに同じ階層で処理を実行すると普通にコンパイルを通過できたので…。この辺りのルールがCの教科書には載っていません><; ちなみに構造体データ型定義は別で行っています。switch_01は変数ですが、if文内の処理が初期化の処理で1度だけ実行したかったのでフラグ的な役割をしているだけです。(これらは別にどうでもよかったf^^;
816 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:12:37.42 ] >>815 >構造体データ型定義は別で行っています。 そのファイルをincludeしなきゃだめだよ
817 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:13:12.72 ] s_intの定義はどうなってる?
818 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:14:44.26 ] char* plist[] = {"aaa", "BBB", "ccc", "DDD", "eee", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; 文字列のソートするプログラム書こうとして文字列の配列を作ろうとしたんだけど char* plist[]ってことは添字なしだと char** plistになるのかな? かといって↓のようにすると、その後上手く使えなくなって頭がドーン char** pplist = {"aaa", "BBB", "ccc", "DDD", "eee", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; なんでこうなるの?
819 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:16:02.66 ] // iobject.index = "1" ; // char型の文字代入ができない問題
820 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:17:19.80 ] >その後上手く使えなくなって 下手になら使えるのか。 問題ないじゃん
821 名前:433 mailto:sage [2012/08/04(土) 15:22:51.45 ] >>819 すいません。それは関係ないやつですf^^;ポリポリ >>817 struct s_int { char index ; int x ; int y ; } ; になってます。(ソースファイルの先頭に記述済み) >>816 同じファイル内に定義済みです。。。 すいません。今ちょっとDrawGraphの直前に struct s_int iobject ; を入れたんですけどコンパイルしたら Run-Time Check Failure #3 - The variable 'iobject' is being used without being initialized. こんなダイアログが出ました。エラーなのでしょうが内容が分かりませんんんんん
822 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:26:53.40 ] iobject.index = "1"; ↓ iobject.index = '1';
823 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:27:35.80 ] 文字と文字列の違いもわかってないのか
824 名前:433 mailto:sage [2012/08/04(土) 15:34:26.13 ] >>822 ぎゃああああああ ってな感じです。。。凡ミスワラタw アリガトゴザイマス(´・ω・`)
825 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:51:43.11 ] >>814 私はちょっとだけ順番違うかな。 1 まず、したい事がある。 2 その事を実現する方法についてのみ調べる。(手引書、参考書、サイト) 3 コードを書いてみる。 4 その後で、手引書、参考書、サイトをじっくり読む。 5 3のコードを改造してみる。 そんで、3-5のループって感じかな。 もちろん、初めに言語の仕様をだいたい知っていることに越した事はないんだけどね。
826 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 15:59:58.54 ] >>825 俺もそんな感じ
827 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 16:11:17.13 ] >>825 それだと モチベは保てる利点があるが やりたい内容が力量を越えて飛躍しすぎてると頭がオーバーフローし易いので 挫折する可能性もある。 反面、>814だとモチベが持続出来ないのでブン投げる可能もある。 モチベを保つために練習問題をコツコツやらないと厳しい。 コードを書いて前回より出来が良い物に改善、出来る範囲の文献を当たって β0.01からβ0.02へ進化!手直し手直しを繰り返すのが良いとこ取りかもしれないね。 無理せずにコツコツと手直しが近道かもしれんね。
828 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 16:47:35.58 ] >>825 今だとgoogleでこの手順もかなり楽になった 検索すると困ってる内容の解決策に簡単にたどり着ける
829 名前:デフォルトの名無しさん [2012/08/04(土) 16:53:12.03 ] 若い頃はモロ >>814 つーか 4. で無謀なチャレンジを楽しんでいた 今 >>825 へ徐々に移行、6. ありえないポカで自己嫌悪を追加
830 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 17:13:03.30 ] >>818 ttp://ideone.com/sQD0C
831 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 17:13:20.34 ] >>825 の人気にshit おれもこの方法だけど
832 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 17:26:26.71 ] >>815 ttp://ideone.com/eYVNF
833 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 17:33:10.73 ] >>818 ttp://ideone.com/8Y3XU
834 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 17:39:05.12 ] つまり int main(int argc, char *argv[]); int main(int argc, char **argv); が等価であるからといって char *plist[] = {"foo", "bar"}; char **plist = {"foo", "bar"}; が等価にはならない
835 名前:デフォルトの名無しさん [2012/08/04(土) 17:41:37.11 ] 等価であるべきだとすごい剣幕で主張してるアホが昔いた
836 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 17:46:29.89 ] __ た わ し で す -- 二 / ̄\ = 二  ̄. | ^o^ |  ̄ -‐ \_/ ‐-
837 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 18:07:49.79 ] >>830 >>833 >>834 ありがとうごじゃいます char *plist[] = {"foo", "bar"}; char **plist = {"foo", "bar"}; これが等価だって思い付きが大間違いだったんですねorz
838 名前:825 mailto:sage [2012/08/04(土) 19:28:06.02 ] 知らないうちに結構レスがついている。 ちなみに40代のおぢさんです。 ポンコツだけど。。。。 ただ、1の「したい事がある」は「お仕事でやらないといけなかった」ともいう。 そして、 2の調べるは、そんな人が作ったPGを引き継いだ人が大変なのは分かっていたから、当時はサイトが無かったので必死に参考書を読み漁っていた。 最初の入門書は林春比古さんの新C言語入門シリーズだったかな。(1991年版・今は新しいのが出てるはず) 未だにシニア編は手放せないです。 ビギナー編はどうでも良かったからどっかいっちゃったし、応用編は当時のDOS環境に偏り過ぎていたからね。 オライリーシリーズはポンコツには敷居が高かった。 って感じかな。
839 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 19:33:14.45 ] 林春比古の本に手をだしてはいけませんキリッ
840 名前:825 mailto:sage [2012/08/04(土) 19:54:02.56 ] >>839 正直、他のシリーズの本(C++とかVBとLinuxとか)は知らないんだけどね。 Javaだけはちょっと読んだけど、Java自体、言語と言うより、「如何に用意されたAPIを使いこなすか」で、 しかもJavaのバージョンが上がりまくってAPIが変わりまくりだったので意味をなさなかったね。 持ってるのVer1.3対応版だよ。まったく意味がない。 C言語入門にしては当時(1990年頃)としては分かり易かったと思う。 今なら他にもいっぱいあると思うけど。
841 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 21:10:55.96 ] 初心者ならここじゃないの。副読本の感覚で www9.plala.or.jp/sgwr-t/index.html ポイント学習C言語 中級には物足りなすぎるだろうけど 初心者には孫の手みたいに痛し痒しに届きそうな内容じゃない。 この人の本は持ってないけどね・・どうなんでしょ。 あとは猫シリーズのWinプログラムやっとけば初級卒業なんじゃないのかな。 オライリーが鉄板だとは思うがあれ楽勝で読みこなせるなら初心者じゃない気もするw
842 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 21:20:59.81 ] 写経して即デバッガで追うのは楽なんだけど、時間が無い人向けだな。
843 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 21:57:11.99 ] 猫わかもいいんだけどちょっと古臭いのがね
844 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 22:05:21.58 ] あれは猫ならわかるのかもしれんが、人間だとわからんのでは? 少なくとも俺は柴田望洋のほうがわかり易かったよ
845 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 22:05:48.79 ] うん
846 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 22:39:17.97 ] 独習Cだろ最強は
847 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 22:58:50.44 ] 図書館で借りた入門書に誤字があり、その箇所で悩みまくり頭が沸騰するかと思った。 初心者だから自分が間違っているのか本が間違っているのか分からないから困る
848 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 23:13:11.49 ] 困るね
849 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 00:00:44.45 ] 読んで覚えるだけの勉強しかしないバカにありがちだね
850 名前:デフォルトの名無しさん [2012/08/05(日) 00:03:30.81 ] ∧_∧ / ̄ ̄ ̄ ̄ ̄ ( ´∀`)< オマエモナー ( ) \_____ │ │ │ (__)_)
851 名前:685 mailto:sage [2012/08/05(日) 01:58:36.19 ] >>847 自分でうごかしてみるんだ。今は環境は簡単に手に入る。
852 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 04:42:27.49 ] コンパイル環境あったところで、誤字が理由のエラーに悩みまくることはかわらないけどな
853 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 04:45:35.54 ] 昔よりはエラーメッセージが親切になった 何といっても読めば意味が分かることが多い
854 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 04:57:34.33 ] 開発環境やバージョンの違いで動かないこともあったりするから 手に負えない。
855 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 05:05:20.29 ] 初心者がエラーメッセージをちゃんと読んで理解するかよw
856 名前:685 mailto:sage [2012/08/05(日) 05:24:21.33 ] >>855 ここに投げてみるとか、codepad/ideone の結果を貼り付けてみるとか。 初学者のはまる点であれば、ここでなんとかなるんじゃない?
857 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 05:35:40.54 ] >>639 >>643
858 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 06:09:52.40 ] しかし初心者ほど「エラーが出ます」としか言わないのであった
859 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 06:33:42.02 ] C++のテンプレートとかエラーメッセージ自体が意味不明だったりするけど
860 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 06:34:54.30 ] 初心者の独学の話をしてるんじゃないの?
861 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 06:36:02.61 ] ttp://ideone.com/XY4SB 初心者によくありがちなコンパイルエラー
862 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 07:34:32.47 ] >>861 ねぇよ
863 名前: ◆QZaw55cn4c mailto:sage [2012/08/05(日) 09:45:29.15 ] >>857 これは痛いところを突かれましたね。 確かにcodepad.org/mDg8Dx8P は今でも説明不能。 手元のgcc4 は 0. 000000 を表示することから >>653 + double拡張が妥当ではあるのですが、 それじゃcodepad はどんなことになっているのか?
864 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 10:13:57.76 ] %fで8バイト必要なのに4バイトしか積んでないから つまり>>663 の4番目と6番目
865 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 10:24:52.91 ] % よりも - の方が優先順位が高いので 10 % 3 - 1.0 < 4.0 ? 1 : 0; は 10 % (3 - 1.0) < 4.0 ? 1 : 0; と解釈され、剰余演算子にdouble型を適用しようとするので コンパイルエラーになるはずなんだけどなあ
866 名前: ◆QZaw55cn4c mailto:sage [2012/08/05(日) 10:41:02.47 ] >>864 なるほど、いったんスタックをお掃除すると結果がかわるというわけですね。 >663 を codepad にかけてみました。 codepad.org/HIVDpg5z 1番目の結果を出すとき、ゴミはいったいなんなんだ?
867 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 10:48:07.87 ] >% よりも - の方が優先順位が高いので 単項演算子の-と二項演算子の-との区別がつかないおバカさん?
868 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 10:56:01.96 ] printf("%f\n", 10 % 3 - 1.0 < 4.0 ? 1.0 : 0.0); とするとちゃんと1.000000と表示される所から見て、整数→倍精度浮動小数点数 への格上げはされてない(当たり前か)
869 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 11:22:28.30 ] ttp://ideone.com/asu0T printf()を連続で呼ぶと前の引数が残るからアクロバティックなコーディングが出来る やらないけど
870 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 11:27:22.05 ] >>866 ttp://codepad.org/tqrPGZ55
871 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 11:33:13.47 ] >>869 これアクロバティックと言わずに「undefined」と言おうよ >>870 intでdouble型の表示をしようとすると結果はやはり「undefined」だろうな printf("%f\n", 1); とやってるのと同じだもん
872 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 11:51:59.18 ] そういえばDOSの時代に関数ポインタを取得して、そこにディスク上から別の関数を 上書きして走らせるというキチガイ沙汰なプログラムが立派に商用に使われていたな もちろん後から上書きする関数の大きさは前の関数よりもサイズが小さくないと 次の関数の頭まで消してしまうし、引数も同じにしとかないとコンパイルが出来ない これも未定義なんだけど、メモリの少ない時代は仕方がなかったんだろうな
873 名前:デフォルトの名無しさん [2012/08/05(日) 11:54:53.01 ] union { char c[8]; double d; } u; u.c[0] = 0x66; u.c[1] = 0x68; u.c[2] = 0x3c; u.c[3] = 0x11; u.c[4] = 0xc4; u.c[5] = 0x59; u.c[6] = 0x01; u.c[7] = 0x40; printf("%f\n", u.d); u.c[0] = 0x00; u.c[1] = 0x00; u.c[2] = 0x00; u.c[3] = 0x00; printf("%f\n", u.d);
874 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 11:58:44.74 ] >>872 メモリの無い時代、別にオーバーレイは常套手段だったろ。
875 名前: ◆QZaw55cn4c mailto:sage [2012/08/05(日) 12:35:11.54 ] >>870 おおー、thx このやりかた、デバッグにつかえるかもしれないね
876 名前:デフォルトの名無しさん [2012/08/05(日) 12:36:40.22 ] 条件A, B, Cそれぞれにture falseがあり、条件の組み合わせで それぞれに違う処理をさせたい場合、どういった書き方をするんでしょうか 真理値表で言うとこんな感じです A B C F F F -> n = ture F F T -> m = ture F T F -> l = true <略> T T T -> s = true ifを使って、 if (a == false) && (b == false) && (c == false) { ... などと書くのが普通でしょうか。コレだと条件がD, E, ...と増えていくと 収集がつかなくなりそうで不安です。いい方法か、検索に役立つキーワードが あれば教えて下さい。
877 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 12:43:11.67 ] ビットフラグ
878 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 13:13:19.18 ] 関数型言語ってCの事ですか?
879 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 13:18:05.02 ] Cは手続型言語
880 名前:433 mailto:sage [2012/08/05(日) 13:23:49.15 ] >>832 832さんありがとうございます! そのページのソースコードに記述されているstatic(きおくくらす?で合ってるのかな…?)をヒントにコンパイルエラーの謎を解明できました。 具体的な原因としてObjectルーチンを何度も通すプログラムを書いており、 struct s_int iobject ; という構造体変数宣言を何度も行っている事が原因だったようで、これをヘッダー部分(main()以前)に書く事でコンパイルが正常に通りました。 またひとつ勉強になりました。ありがとうございますm(--)m
881 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 13:39:50.96 ] どういたしまして
882 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 13:47:48.09 ] >>880 ttp://ideone.com/mZwCB 自動変数というのは自動的に領域の確保と解放をする変数で 初期化(あるいは代入)せずに参照すると値が不定となる 自動変数ではなく静的変数とするにはstaticを付けるかグローバル変数とする
883 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 14:56:49.16 ] ズルして楽して覚えても結局は言語仕様に戻る罠。 面倒でも暇を見てヘルプや仕様を読む癖をつけるのが良いと思うよ。
884 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 14:57:59.08 ] >>876 いろいろやりかたはあるが、条件を表にしておき関数ポインタを持っておくとか オートマトンで使われるような状態遷移図にも似たような手法が使われる
885 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 15:29:21.79 ] #include <stdio.h> #define _TRUE 1 #define _FALSE 0 int fff(void) { printf("%s\n", __func__); } int fft(void) { printf("%s\n", __func__); } int ftf(void) { printf("%s\n", __func__); } int ftt(void) { printf("%s\n", __func__); } int tff(void) { printf("%s\n", __func__); } int tft(void) { printf("%s\n", __func__); } int ttf(void) { printf("%s\n", __func__); } int ttt(void) { printf("%s\n", __func__); } int (*tbl[2][2][2])(void) ={ { { fff, fft }, { ftf, ftt }, }, { { tff, tft }, { ttf, ttt }, }, }; int main(void){ (*tbl[_FALSE][_FALSE][_FALSE])(); (*tbl[_FALSE][_FALSE][_TRUE])(); (*tbl[_FALSE][_TRUE][_FALSE])(); (*tbl[_FALSE][_TRUE][_TRUE])(); (*tbl[_TRUE][_FALSE][_FALSE])(); (*tbl[_TRUE][_FALSE][_TRUE])(); (*tbl[_TRUE][_TRUE][_FALSE])(); (*tbl[_TRUE][_TRUE][_TRUE])(); return 0; }
886 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 15:29:52.05 ] lenovo@LENOVO-0C414D26 ~ $ ./a.exe fff fft ftf ftt tff tft ttf ttt
887 名前:433 mailto:sage [2012/08/05(日) 17:00:58.51 ] >>882 自動変数と静的変数というのは一般的に言われる「変数」を噛み砕いたものという事でしょうか? 初期化しないままに参照するのは結果的にエラーを吐くのは分かったのですが、 初期化したものをその後に参照しようとしても参照できない場合があるのはなぜなのでしょう やはりCの仕様なんでしょうか…
888 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 17:11:38.25 ] アドレスが違うか見てみれば
889 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 17:13:28.31 ] "スコープ"とか"変数の寿命"でググれや
890 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 17:54:40.51 ] >>887 ttp://ideone.com/xmVR8 >自動変数と静的変数というのは一般的に言われる「変数」を噛み砕いたものという事でしょうか? 変数には大雑把にいって自動変数と静的変数がある >初期化したものをその後に参照しようとしても参照できない場合があるのはなぜなのでしょう 初期化したつもりで自動変数を初期化してなかったので 「変数'iobject'が初期化されてないのに使われようとした」というエラー(警告?)になったのだと思われ Run-Time Check Failure #3 - The variable 'iobject' is being used without being initialized.
891 名前:433 mailto:sage [2012/08/05(日) 18:16:14.23 ] 返答早すぎですw多くのレスありがとうございます>< まだC言語は半月くらいの経験しかない身ではしたない部分があるにも関わらず多くアドバイスを頂き感謝し尽せないです。。。 >>890 初期化した場所が悪かったのか、初期化した後変数が別の変数に変わってしまったのか分かりませんがエラーの内容からすれば変数の初期化をする場所にルールがあるんじゃないか、とちょっと気づいてきました…(´・ω・`) >>889 ブロックスコープという存在を知らなかった…orz しかも私が今併用しているC言語入門書には書いていない件(tyow >>888 ポインタですね^^ 後々解析してみまぁす。ありがとうございます〜 皆様、貴重なご教示ありがとうございました。
892 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 18:32:40.71 ] >>891 www9.plala.or.jp/sgwr-t/index.html
893 名前:876 [2012/08/05(日) 18:36:50.41 ] >>877 , 884様 とりあえず今回は3条件T/Fで設計してしまったので、 ビットフラグで行こうと思います。 検索したらUMLとか状態遷移とかを解説しているページが 多く見られ、大変参考になりました。ありがとうございました。
894 名前:デフォルトの名無しさん [2012/08/05(日) 18:45:27.84 ] はじめまして。 <=====の行がうまくいかないです。アドバイスお願いします。 int *po,ban,i; po=&ban; for(i=0;i<5;i++){ *(po+i)=i; /*<=====*/ }
895 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 18:51:18.64 ] とりあえず、がんばれ、と言っておこう
896 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 18:56:35.63 ] >>894 ttp://ideone.com/g4bsT
897 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 18:56:57.06 ] はじめまして。 <=====の行がうまくいかないです。アドバイスお願いします。 int *po,ban,i; po=&ban; for(i=0;i<5;i++){ *(po+i)<=====i; }
898 名前: ◆QZaw55cn4c mailto:sage [2012/08/05(日) 19:08:48.26 ] >>894 ideone.com/cV82Z
899 名前:デフォルトの名無しさん [2012/08/05(日) 19:20:02.69 ] >>896 >>898 banを配列にしないとダメなんですね。 サンクス
900 名前:デフォルトの名無しさん [2012/08/05(日) 19:29:40.53 ] 自動変数は何が自動なんですか。手動変数もありますか。
901 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 19:30:21.98 ] ぽいぽいPOI!!! ふぉいふぉいFOI!!! カネ返せFOI!!! カネ返せPOI!!!
902 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 19:34:03.62 ] 全自動変数 半自動変数 手動変数
903 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 19:41:31.07 ] 変数がメモリ上のどこにあるのかを考えろよw 答えはそこにある。
904 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 19:46:12.93 ] 変数 固定変数 変動定数 定数
905 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 21:09:56.68 ] ふひひ
906 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 23:53:22.62 ] このスレ質問ても処理系は何?と聞いてごまかして答えてくれないよね。 専門知識を教えるのは億劫なんかね。
907 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 23:56:26.74 ] 質問ても?
908 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 00:00:50.30 ] >>907 ゴミは黙れ
909 名前:デフォルトの名無しさん [2012/08/06(月) 00:06:41.76 ] >>907 茶化すなよ
910 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 00:53:54.49 ] >>906 C言語は低レベルなので処理系聞かないと規格票の範囲でしか答えられないからです
911 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 01:05:43.22 ] >>908-909 失せろゴミ
912 名前:デフォルトの名無しさん [2012/08/06(月) 01:29:45.60 ] >>906 いや、お前がゴミだから。
913 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 01:50:31.12 ] IDがでねー掲示板で何やってんだお前ら。。
914 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 01:51:54.79 ] ↑馬鹿
915 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 01:57:04.14 ] ('_')
916 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 02:08:19.48 ] 知識は出し惜しみすんなよクズ 共有しないと意味ねーだろ
917 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 02:10:22.41 ] もうずっとプログラマ大杉
918 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 02:14:15.34 ] 共有() 一方的にもらうだけの乞食が
919 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 02:21:13.35 ] 処理系を知りたいならアセンブラ。 遠慮せずにそちらの世界へ。
920 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 02:22:09.03 ] けんかしにここにきてるのかお前ら そんなひまがあったら働け
921 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 02:30:41.89 ] >>919 「処理系」の意味がわかってないような
922 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 04:52:17.60 ] >>919 お前が一番分かってない
923 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 04:54:56.41 ] >>921-922 ほう。 どうわかってないのか、正しくはどうなのか説明してみ。
924 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 04:56:47.56 ] >>923 人に教えてもらう態度ではないな
925 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:00:05.49 ] >>924 失せろゴミ
926 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:02:32.65 ] >>919 お前が処理系を何だと思ってるか説明するのが先だ ゴミしか言えないのかよ
927 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:08:28.84 ] 判断の根拠を言えよバーカ わかってないのに判断したのかよ
928 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:09:47.45 ] ゴミとバーカしか言えないのかよ
929 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:10:32.27 ] アホ
930 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:15:13.50 ] >>910 と>>919 の処理系の意味の違いさえ分からないゴミカス乙
931 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:18:30.81 ] ゴミとバーカとアホとゴミカスしか言えないのかよ
932 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:19:51.18 ] お前らいい加減やめろよ・・・
933 名前:デフォルトの名無しさん [2012/08/06(月) 05:20:03.08 ] しか言えないのかよしか言えないのかよ
934 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:27:39.39 ] >>930 https://www.google.co.jp/search?q=%E5%87%A6%E7%90%86%E7%B3%BB
935 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 05:36:14.40 ] >>930 >>919 だけが「処理系」の意味を知らないだけで 他の人は全員「処理系」の意味を理解して、同じ意味で使っている。
936 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 06:56:49.37 ] 919に言ってやれよ
937 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 07:01:02.28 ] 919に言ってやれよしか言えないのかよ
938 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 07:26:09.48 ] 919に言ってやれよしか言えないのかよしか言えないのかよ
939 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 07:34:52.32 ] 919に言ってやれよしか言えないのかよしか言えないのかよしか言えないのかよ
940 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 07:40:55.44 ] アホ自慢はもういいから。
941 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 07:57:40.08 ] implementation 実装、処理系
942 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:00:57.45 ] 規格ではなく処理系でことなる部分がある(処理系依存の部分、未定義の部分)
943 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:04:17.84 ] ダンプ解析しないのかな。
944 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:06:47.66 ] 童貞先生ゴミマ
945 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:11:40.73 ] #include <stdio.h> int main(void) { int i = 2; printf("%d\n", ++i*(++i) ); return 0; } /* C:\work>gcc -Wall -o ppi ppi.c ppi.c: In function `main': ppi.c:5: warning: operation on `i' may be undefined C:\work>ppi 16 C:\work>dmc ppi.c link ppi,,,user32+kernel32/noi; C:\work>ppi 12 */
946 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:12:19.52 ] ぶひ
947 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:19:45.88 ] >>945 何したいんだ? #include <stdio.h> int main(void) { int i = 2, j; j = ++i; printf("%d\n", j*(j) ); return 0; }
948 名前:デフォルトの名無しさん [2012/08/06(月) 08:43:31.10 ] >>947 アホは書き込むな。
949 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 08:47:57.14 ] Qがコテを隠して朝からファビョっているのか
950 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 09:22:10.78 ] アホは書き込むな。しか言えないのかよ
951 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 09:34:44.57 ] ぶひひ