【ANSI-C】 C言語なら俺に聞け! Part 129
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/08/27(日) 15:43:44まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限検索を。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/250-7563469-9920244
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
前スレ
【ANSI-C】 C言語なら俺に聞け! Part 128
http://pc8.2ch.net/test/read.cgi/tech/1151282084/
GUIなどの標準Cではできない事の質問,ソース丸投げ、宿題、書籍 は
専門の別スレッド↓があるのでそこへさようなら。
【初心者歓迎】C/C++室 Ver.30【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1156145524/
C/C++の宿題を片付けます 73代目
http://pc8.2ch.net/test/read.cgi/tech/1155355501/
新・推薦図書/必読図書のためのスレッド 1
http://pc8.2ch.net/test/read.cgi/prog/1146889623/
0052デフォルトの名無しさん
2006/08/30(水) 00:01:16>>51少しCから離れると、そういうの忘れちゃいませんか?
0053デフォルトの名無しさん
2006/08/30(水) 00:03:080054デフォルトの名無しさん
2006/08/30(水) 00:37:47突然に、辞書って何のこと
英語の辞書??
0055デフォルトの名無しさん
2006/08/30(水) 00:59:400056デフォルトの名無しさん
2006/08/30(水) 01:10:56m9(^Д^)プギャー
0057デフォルトの名無しさん
2006/08/30(水) 01:12:59それとも上で言っているイディオムとか、痒いところに手が届くようなお勧め辞書があるということ?
そんな辞書あったらオレにも教えてくれよー
0058デフォルトの名無しさん
2006/08/30(水) 01:34:51とりあえず時代には逆行してるよね。
0059デフォルトの名無しさん
2006/08/30(水) 02:01:21C99が流行らずにC#,java,スクリプト言語全盛なのは
C99が時代に取り残されそして逆行していると解釈してOKね
0060デフォルトの名無しさん
2006/08/30(水) 02:06:37いやいや、C99はC++との互換性を無視したので、これから新しい
プログラムをC99で書いた物をC++に移植する時に大変な手間が
必要になるのも一因でしょう。
CPUに例えれば、x86がセグメント方式という8086当初の汚点を
未だに引きずっても互換性を重視した結果バカ売れしたのに対し、
Motorolaの流れはColdfireのような組み込み系に変わって行って
しまったのに似てますね。まあ制御系はCPUの数だけから言えば
PCで使われている数よりもずっと多いんですけども。
0061デフォルトの名無しさん
2006/08/30(水) 02:09:40C++との住み分けのつもりなのかな。
0062デフォルトの名無しさん
2006/08/30(水) 02:12:13ベンダーもなかなかC99対応のコンパイラ出さないし。ICCとかは
完全対応してるんだっけ。
まあD言語みたいにマニア向けの色が強くなってると思う。
0063デフォルトの名無しさん
2006/08/30(水) 02:16:12つーかあと5年は早く出しとけよって感じだ。
0064デフォルトの名無しさん
2006/08/30(水) 02:21:40いやあと8年早く出て欲しかった。そしてC99の上位互換性を持つC++が
作られるという流れにして欲しかったなあ。
C99の致命的な欠点はクラスが作れないという事です。OOPをするのに
C言語と同じ苦労をしなければいけない。これは生産性に重大に関わります。
0065デフォルトの名無しさん
2006/08/30(水) 02:24:35必要な人はgccあるし、あえてCに戻ってもらっても困るしさ。
そして、言語仕様をいっぺんに拡張してまったく別物のようになってしまって、対応コンパイラも普及してないからマニア向けな感じがするのかな。
どのあたりをターゲットと見据えて言語拡張したんだろ。
0066デフォルトの名無しさん
2006/08/30(水) 02:28:24生産性とかも、CにはCのよさがあって、クラスとかなら他の言語でゴニョゴニョ・・
0067デフォルトの名無しさん
2006/08/30(水) 02:31:02OOPに関して問題を感じるなら、
C++を推進するとか、他のOOPLを推進するとか、
どっちにせよCを離れるが吉だと思われ。w
0068デフォルトの名無しさん
2006/08/30(水) 02:31:490069デフォルトの名無しさん
2006/08/30(水) 02:31:57あるCやC99を使うでしょうね。友人がC++の組み込みプログラムを
書いてるんですけど、STLはばっさりけずられてるし、言語仕様も
結構縮小されて、出来るだけバイナリを小さくするようにしてるそうです。
0070デフォルトの名無しさん
2006/08/30(水) 02:35:00Embedded C++ だな。日本の企業が実装の難しい機能をばっさり削って
「Embedded C++ 準拠」と宣伝したいがために策定した規格。
作成意図がほんとでこんなんじゃないかと信じてしまうほどの糞規格。
0071デフォルトの名無しさん
2006/08/30(水) 02:41:15はい、それですまさに。プログラムの保守性と生産性を保つために
クラスだけは残したような。
0072デフォルトの名無しさん
2006/08/30(水) 02:42:50組み込みとか、速度重視とか、バイナリ小さくとか、描画速くとか
そういったかゆいところで本領発揮する、実によくきく薬なんで
しょう。
C99の拡張も特にPC向けを考慮しているわけではないと思うけど
0073デフォルトの名無しさん
2006/08/30(水) 02:43:32そんなことないよね?
0074デフォルトの名無しさん
2006/08/30(水) 02:54:25http://ja.wikipedia.org/wiki/Embedded_C++
0075デフォルトの名無しさん
2006/08/30(水) 02:58:27読んだ。
固まった。
顎が落ちた。
なんだこりゃ。
C++じゃねえじゃん。
マジで>>70が言うとおりコンパイラ実装側が手を抜くためとしか思えんな!
誰が使うんだ、こんな糞規格って
>>71が可哀想すぎる…
こんなのってないよ…
0076デフォルトの名無しさん
2006/08/30(水) 06:59:23今更名前にC++が入ってるのは詐欺だな。
0077デフォルトの名無しさん
2006/08/30(水) 07:32:38委員会のメンバが胡散臭すぎる。
0078デフォルトの名無しさん
2006/08/30(水) 10:02:29return;
}
void b () {
return a ();
}
これとくに警告とか出ないんですけどこういう書き方正しいんでしたっけ?
return a ();のところ
0079デフォルトの名無しさん
2006/08/30(水) 10:04:55C++ では有効。それが無いと template 書くときに困る。
0080デフォルトの名無しさん
2006/08/30(水) 10:10:08gcc使ってたんですけど今-pedanticというオプションつけたら警告出ました
それつけわすれてました
0081だいころ
2006/08/30(水) 11:45:16何か良いフリーのソフトを配布しているサイトをご存知でしたら、
教えて貰えないでしょうか。
宜しくお願いします。
0082デフォルトの名無しさん
2006/08/30(水) 11:53:21へ へ|\ へ √ ̄| へ
( レ⌒) |\ ( |\)| |/~| ノ ,__√ /7 ∠、 \ . 丶\ _ __
|\_/ /へ_ \) | | | |∠ | |__ | / ! | | |_〜、 レ' レ'
\_./| |/ \ .| |( ̄ _) | ) | | i | へ_,/ ノ ,へ
/ / ̄~ヽ ヽ. | | フ ヽ、 ノ √| | ! レノ | !. \_ ー ̄_,ー~' )
/ /| | | | | |( ノ| |`、) i ノ | | \_ノ ノ / フ ! (~~_,,,,/ノ/
| | | | / / | | . し' ノ ノ | | / / | |  ̄
\\ノ | / / | |___∠-". | | ノ / ノ | /(
\_ノ_/ / (____) し' ノ/ / / | 〜-,,,__
∠-''~ ノ/ (_ノ 〜ー、、__)
0083取り敢えずdoxygen
2006/08/30(水) 11:54:13スレタイ読めますか?
0084デフォルトの名無しさん
2006/08/30(水) 12:45:52「明解C言語入門編」
「解きながら学ぶC言語」
「プログラミング言語C」
で勉強していこうと思います。
これらで効率よくプログラミングを学んでいける方法、
読み方を教えてください。
0085デフォルトの名無しさん
2006/08/30(水) 12:47:111ページ目から始めて、最終ページまで読めばいいと思うよ。
0086デフォルトの名無しさん
2006/08/30(水) 12:52:220087デフォルトの名無しさん
2006/08/30(水) 13:07:39doxygenでも使え。
0088デフォルトの名無しさん
2006/08/30(水) 13:14:14最近の初心者は最初からやるべき参考書を沢山ピックアップしすぎ。
1冊何か読んでちゃんと理解すれば次に何を読むべきかわかるから、
その時に2冊目を買えばいい。何にもわからないうちに買い置きするのは危険。
解きながら学ぶC言語って、明解C言語入門編例解演習の改定本だろ?
明解C言語入門編と相当内容が被っているから両方買った時点で効率悪すぎ。
0089デフォルトの名無しさん
2006/08/30(水) 13:22:02そうです。明解Cは少しずつ読み進めていて、
問題もたくさん解いたほうがいいのかなと思って購入してしまいました。
明解だけに絞って進めていこうと思います。
最初問題を解くときなどは、問題を見たら
すぐに回答を見て理解しながら自分で写すいった方法でいいのでしょうか?と
それとも時間をかけまず1から自分で全部考えてみてから回答を見て、
こういう方法でやるんだ、と納得して次に進む方法がいいのでしょうか。
後者だと時間が結構かかってしまいます。
0090デフォルトの名無しさん
2006/08/30(水) 13:28:39しかし俺はそんな超人的なことは無理で、問題をよく考えて解説を何度も読んで、それでなんとか理解できる程度。
何が言いたいかというとだ、こんな所で聞く時間があったら1ページでも多く読め
0091デフォルトの名無しさん
2006/08/30(水) 13:30:18大学受験勉強は、問題を見てすぐ答えを見てその流れを理解して覚える、
といったような方法を取ってきていたのですが、
プログラミングとなるとどう勉強していったら分からないといったところが
率直なところです。
大学では、ちょこちょこと説明した後課題が出されて、
それについて自分でいろいろ調べといていくといったやりかたでやってますが
自習となるとちょっと・・・
0092デフォルトの名無しさん
2006/08/30(水) 13:33:25テストで良い点を取るための勉強とは違うのだよ
0094デフォルトの名無しさん
2006/08/30(水) 13:49:51>大学受験勉強は、問題を見てすぐ答えを見てその流れを理解して覚える、
なにその非効率な勉強方法
解きもしないで身につくわけがない
C言語も同じ
0095デフォルトの名無しさん
2006/08/30(水) 13:52:27宿題を提出したり、テスト当日漬けには物凄く効率はいいがな。
ただ、指摘どおり身に付かないので追えなくなったらニート確定w
0096デフォルトの名無しさん
2006/08/30(水) 13:53:52落ちたときにつらいw
0097デフォルトの名無しさん
2006/08/30(水) 14:02:19一概に非効率だとは言い切れない。
だがプログラミングの勉強においてその方法は何の役にも立たない。
0098デフォルトの名無しさん
2006/08/30(水) 14:18:16実行させて思う通りに動かなくて悩んで・・・そうやって憶えるもんだ
009984
2006/08/30(水) 14:39:53大学受験でこの勉強方法が効率的だった(というか自分に合っていた)というのは
実体験も含めて分かってます。ここでそれは特に説明はしません。
>>94>>97>>98で言われているように
プログラミングに関しては効率的ではないことは分かりました。
ただ、初歩の部分というのは覚えだけのことが多くありますよね。
それにも>>98の方法が本当に効率的なのかというのは疑問でもあります。
もうちょっと参考書の使い方の部分まで考えていきたいのです。
例えば、
まずその章の説明を読んで例題を読む。
次にそれを自分で書き写しながら理解していく。
そこから同じことを使う練習問題を何題か解いてみる。
というような感じで。
0100デフォルトの名無しさん
2006/08/30(水) 14:42:39早く理解すること より 正しく理解すること のほうが重要な分野だぞ?
010184
2006/08/30(水) 14:46:36なるほど。としか言い様がありません。
プログラムの経験が極浅いために、
イマイチ受験的な考えから抜け出せない感じです。
0102デフォルトの名無しさん
2006/08/30(水) 14:48:550103デフォルトの名無しさん
2006/08/30(水) 15:09:50人にアドバイスを貰っておいて、今度はそれを疑いだすとか基地外か?
第一、今のお前には、どんなアドバイスを貰っても
それが本当に効率的かどうかを判断できる能力が備わってないだろ。
本当は自分の中である程度勉強法が固まっていたものの、
不安だったので背中を押してもらおうとスレ住民に聞いたが、
反発されたのでうだうだ言っている。そんな風にしか見えない。
0104デフォルトの名無しさん
2006/08/30(水) 15:15:52実際に使ってみないと判らない事がい〜〜〜〜ぱいあるのだと思い知る事になるだろう。
010584
2006/08/30(水) 15:16:35全く自分の意に反しているレスです。
>それが本当に効率的かどうかを判断できる能力が備わってないだろ
判断できる能力とはどのような能力でしょうか。
>>98で書かれた方のやり方は一般的で最もいい方法だとは思いますが、
「初歩の段階で」というのを付け足して差し出がましく意見したまでですが。
下の3行も全く違いますね。
これ以上書くと荒れると思うので、では。
0106デフォルトの名無しさん
2006/08/30(水) 15:20:540107デフォルトの名無しさん
2006/08/30(水) 15:23:52そうやって知識も無いくせに自分が一番正しいと思っていればいい。
0108デフォルトの名無しさん
2006/08/30(水) 15:27:390109デフォルトの名無しさん
2006/08/30(水) 15:29:272) 早くゴミコードを生産する奴 しかし、なんとなく正しく動いてるっぽい
3) 時間はかかるが安心できるコードを生産する奴 しかし、正しく動かない
4) 時間はかかるが安心できるコードを生産する奴 正しく動作している
俺は 2) が一番やっかいだ
0110デフォルトの名無しさん
2006/08/30(水) 15:30:25011184
2006/08/30(水) 15:30:53写すというのはノートにじゃなくて
実際にそれを入力(写)して実行してみるということです。
誤解があったようなので最後に一言だけ。
0112デフォルトの名無しさん
2006/08/30(水) 15:31:220113デフォルトの名無しさん
2006/08/30(水) 15:35:59ケースバイケースだな。 全く別の仕事まわすとかして対処してたりする。
0114デフォルトの名無しさん
2006/08/30(水) 15:36:190115デフォルトの名無しさん
2006/08/30(水) 15:39:37http://pc8.2ch.net/test/read.cgi/tech/1153542424/63-
0116デフォルトの名無しさん
2006/08/30(水) 15:39:46部長でもやらせとけ
0117デフォルトの名無しさん
2006/08/30(水) 15:49:060118デフォルトの名無しさん
2006/08/30(水) 15:51:420119デフォルトの名無しさん
2006/08/30(水) 15:54:58効率を過剰に求めて自爆してもおかしくはないな
0120デフォルトの名無しさん
2006/08/30(水) 16:01:20最近のCの問題って自己参照型構造体まで出まくりだぞ。
0121デフォルトの名無しさん
2006/08/30(水) 17:24:30>>74
「Embeded C++」というより、「!C++」の方がしっくり来る
0122デフォルトの名無しさん
2006/08/30(水) 21:40:21お勉強でコード書き始める香具師は期待薄だよな。
これって、面白くてはまりこんでいる香具師の方が、
結果的に自分でなんでもやってみて、先々伸びるじゃん?
>>84
無知の知ってしってるか?
おまえは今のままでは絶対にまともには成長しない。
自分が無知だと本当に思っては居ないからだ。
0123デフォルトの名無しさん
2006/08/30(水) 22:25:45俺にとって C ってのはアーキテクチャに依存しない(と言っても限界はあるが)
アセンブラなんだけど、おまえさんたちの位置付けってどぉよ。
0124デフォルトの名無しさん
2006/08/30(水) 22:30:330125デフォルトの名無しさん
2006/08/30(水) 22:41:470126デフォルトの名無しさん
2006/08/30(水) 22:59:42struct String_T {
int length;
char value[1];
};
当人が、可変長オブジェクトについて、
この型の使い方に意義を出すか、許容するかの問題と同じに感じる。
0127デフォルトの名無しさん
2006/08/30(水) 23:39:47あ、議論に意味が無いってことか?
0128デフォルトの名無しさん
2006/08/30(水) 23:47:530129デフォルトの名無しさん
2006/08/31(木) 01:41:52都市伝説の類かとすら思ってた。
変な書き方しなけりゃ吐かれるコードの質はCと大差ないC++は
超級覇王アセンブラですか?
0130デフォルトの名無しさん
2006/08/31(木) 02:06:12時は流れても、C++は永遠にCのトランスレーターでしょ?
0131デフォルトの名無しさん
2006/08/31(木) 02:13:26現在実用されてる C++ コンパイラのうちで、
C のトランスレータと言えるものは一つも知らん。
0132デフォルトの名無しさん
2006/08/31(木) 02:24:030133デフォルトの名無しさん
2006/08/31(木) 02:24:37MIWA-C++というのがトランスレータでした。しかし、例外処理が
取り入れられると、どうしてもトランスレータでは機能を実現でき
なくなり、また一度にコンパイルできるコンパイラの方が速度が
速いので、トランスレータは消えて行った。
0134デフォルトの名無しさん
2006/08/31(木) 02:32:310135デフォルトの名無しさん
2006/08/31(木) 02:38:52Cへのトランスレーターがあるかないかじゃなくて、
せいぜいC++ができることは(と言うかC++の思想自体が)
その程度といいたかっただけだ。
一応別言語なのに、printf("\n");はないでしょ。
cout <<endl; じゃないのか?ということ。
Cと文法(構文)が似ているJavaはまったく別言語として捉え
られているけど、Cの文法を拡張したC++はなんかCと同じ
ように見られている。これじゃC++はいつまでたってもCの
ゴニョゴニョと言われても仕方ないんじゃないの?
ということ。誤解なきよう。
0136デフォルトの名無しさん
2006/08/31(木) 02:46:56Cの文法を拡張したのがC++、という時代はとっくに過ぎ去って、
今ではCの上位互換性を保ちつつも全く異なる言語になってしまって
いると思う。
0137デフォルトの名無しさん
2006/08/31(木) 02:51:110138デフォルトの名無しさん
2006/08/31(木) 02:56:01そうは言ってもBetterCのためだけにC++使う奴なんて
いい加減絶滅したとも思うけど。
0139デフォルトの名無しさん
2006/08/31(木) 02:58:03まったく別言語になったのかよりも、
それを言うならC++のクラスライブラリーによって
別言語になったように感じているだけじゃないのか?
最近で、C++は言語自体の更新というか拡張とかあったの?
0140デフォルトの名無しさん
2006/08/31(木) 03:02:49それ以前の仕様については、今更変える必要も無いってとこだろうし。
0141デフォルトの名無しさん
2006/08/31(木) 05:15:01下の2つの関数でabesi()が 「たわば!」になるのはわかるのですが
hidebu()のほうは一応実行できます
これは、偶然うまくいっているだけで実は「ひでぶ!」なのか
それともこれで大丈夫なのでしょうか
どなたか教えてもらえませんか?
まだ、無残に飛び散る訳にはいかないのです
...
#include <stdio.h>
char* abesi(){
char rin[80]="ke-n";
return rin;
}
int hidebu(){
int you_ha_shock=4649;
return you_ha_shock;
}
int main(){
//abesi();
printf("%d",hidebu());
return 0;
}
0142デフォルトの名無しさん
2006/08/31(木) 06:14:49ひでぶはいいがあべしは駄目。
ひでぶは値を返すのに対し、あべしはポインタを返す。rin[]はあべし関数
終了後消滅するので、どこか変なアドレスを指す事になる。
0143デフォルトの名無しさん
2006/08/31(木) 06:53:41C++0x
http://pc8.2ch.net/test/read.cgi/tech/1149440647/
0144デフォルトの名無しさん
2006/08/31(木) 13:32:52じゃあ、Visual Basicは何のゴニョゴニョだ?
0145デフォルトの名無しさん
2006/08/31(木) 16:40:07愛を失ってさ迷っていましたが
血渡しだと大丈夫だと知って安心しました
次の殿商社を求めて旅立つことにします
お世話になりました
0146デフォルトの名無しさん
2006/08/31(木) 23:44:520147デフォルトの名無しさん
2006/08/31(木) 23:56:390148デフォルトの名無しさん
2006/09/01(金) 05:05:190149デフォルトの名無しさん
2006/09/01(金) 09:48:59しずめる方法は俺が知っている。俺に任せろ。
0150デフォルトの名無しさん
2006/09/01(金) 18:59:32sprintfでやるには、バッファをあらかじめ用意し置く必要がある。
このバッファサイズを決めるにはどうすればよいでしょうか?
やっぱり十分なサイズを確保しとけ!ですか??
0151デフォルトの名無しさん
2006/09/01(金) 19:03:28■ このスレッドは過去ログ倉庫に格納されています