トップページ⇒tech
1001コメント286KB

【ANSI-C】 C言語なら俺に聞け!  Part 129

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/08/27(日) 15:43:44
このスレは標準Cのみの限定スレです。
まず問題を冷静に吟味して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/
0075デフォルトの名無しさん2006/08/30(水) 02:58:27
>>74
読んだ。

固まった。
顎が落ちた。
なんだこりゃ。
C++じゃねえじゃん。

マジで>>70が言うとおりコンパイラ実装側が手を抜くためとしか思えんな!
誰が使うんだ、こんな糞規格って

>>71が可哀想すぎる…
こんなのってないよ…
0076デフォルトの名無しさん2006/08/30(水) 06:59:23
Cへのトランスレータが当たり前だった極初期のC++を思い出すな。
今更名前にC++が入ってるのは詐欺だな。
0077デフォルトの名無しさん2006/08/30(水) 07:32:38
http://www.caravan.net/ec2plus/committee.html
委員会のメンバが胡散臭すぎる。
0078デフォルトの名無しさん2006/08/30(水) 10:02:29
void a () {
return;
}

void b () {
return a ();
}

これとくに警告とか出ないんですけどこういう書き方正しいんでしたっけ?
return a ();のところ
0079デフォルトの名無しさん2006/08/30(水) 10:04:55
>>78
C++ では有効。それが無いと template 書くときに困る。
0080デフォルトの名無しさん2006/08/30(水) 10:10:08
そうでしたよね確かCだとダメだと記憶してたんで
gcc使ってたんですけど今-pedanticというオプションつけたら警告出ました
それつけわすれてました
0081だいころ2006/08/30(水) 11:45:16
みなさん、C++ソースのドキュメント作成で、
何か良いフリーのソフトを配布しているサイトをご存知でしたら、
教えて貰えないでしょうか。
宜しくお願いします。
0082デフォルトの名無しさん2006/08/30(水) 11:53:21
>>81
    へ          へ|\ へ     √ ̄|        へ
   ( レ⌒)  |\   ( |\)| |/~|  ノ ,__√    /7 ∠、 \ .  丶\      _ __
|\_/  /へ_ \)   | |   | |∠  | |__   | /   !  |     | |_〜、  レ' レ'
\_./| |/   \     .| |( ̄  _) |     )  | |    i  |  へ_,/    ノ   ,へ
  /  / ̄~ヽ ヽ.   | | フ  ヽ、 ノ √| |   ! レノ  |  !. \_  ー ̄_,ー~'  )
 / /| |   | |   | |( ノ| |`、) i ノ  | |   \_ノ  ノ /    フ ! (~~_,,,,/ノ/
 | |  | |   / /    | | .  し'  ノ ノ   | |       / /     | |   ̄
 \\ノ |  / /      | |___∠-".   | |      ノ /       ノ |  /(
  \_ノ_/ /     (____)     し'      ノ/      / /  | 〜-,,,__
     ∠-''~                        ノ/         (_ノ   〜ー、、__)
0083取り敢えずdoxygen2006/08/30(水) 11:54:13
>>81
スレタイ読めますか?
0084デフォルトの名無しさん2006/08/30(水) 12:45:52
「C言語によるアルゴリズム辞典」
「明解C言語入門編」
「解きながら学ぶC言語」
「プログラミング言語C」
で勉強していこうと思います。
これらで効率よくプログラミングを学んでいける方法、
読み方を教えてください。
0085デフォルトの名無しさん2006/08/30(水) 12:47:11
>>84
1ページ目から始めて、最終ページまで読めばいいと思うよ。
0086デフォルトの名無しさん2006/08/30(水) 12:52:22
目次と索引は飛ばして読んだ方が効率いいと思うよ。
0087デフォルトの名無しさん2006/08/30(水) 13:07:39
>>81
doxygenでも使え。
0088デフォルトの名無しさん2006/08/30(水) 13:14:14
>>84
最近の初心者は最初からやるべき参考書を沢山ピックアップしすぎ。
1冊何か読んでちゃんと理解すれば次に何を読むべきかわかるから、
その時に2冊目を買えばいい。何にもわからないうちに買い置きするのは危険。

解きながら学ぶC言語って、明解C言語入門編例解演習の改定本だろ?
明解C言語入門編と相当内容が被っているから両方買った時点で効率悪すぎ。
0089デフォルトの名無しさん2006/08/30(水) 13:22:02
>>88
そうです。明解Cは少しずつ読み進めていて、
問題もたくさん解いたほうがいいのかなと思って購入してしまいました。
明解だけに絞って進めていこうと思います。

最初問題を解くときなどは、問題を見たら
すぐに回答を見て理解しながら自分で写すいった方法でいいのでしょうか?と
それとも時間をかけまず1から自分で全部考えてみてから回答を見て、
こういう方法でやるんだ、と納得して次に進む方法がいいのでしょうか。
後者だと時間が結構かかってしまいます。
0090デフォルトの名無しさん2006/08/30(水) 13:28:39
例えばさ、俺の友人は数学を勉強する時、問題を読んで答えをみて、それだけで人に教えられるほど理解できていた。
しかし俺はそんな超人的なことは無理で、問題をよく考えて解説を何度も読んで、それでなんとか理解できる程度。

何が言いたいかというとだ、こんな所で聞く時間があったら1ページでも多く読め
0091デフォルトの名無しさん2006/08/30(水) 13:30:18
「効率よく」という言葉はちょっと違ったかもしれません。
大学受験勉強は、問題を見てすぐ答えを見てその流れを理解して覚える、
といったような方法を取ってきていたのですが、
プログラミングとなるとどう勉強していったら分からないといったところが
率直なところです。
大学では、ちょこちょこと説明した後課題が出されて、
それについて自分でいろいろ調べといていくといったやりかたでやってますが
自習となるとちょっと・・・
0092デフォルトの名無しさん2006/08/30(水) 13:33:25
自分でやりたいことを記述できるようになる為の勉強に効率なぞない

テストで良い点を取るための勉強とは違うのだよ
0093842006/08/30(水) 13:35:32
>>90
わかりました。
>>92
重みのある言葉ですね。何か心に響きました。
ありがとうございます。
0094デフォルトの名無しさん2006/08/30(水) 13:49:51
>>91
>大学受験勉強は、問題を見てすぐ答えを見てその流れを理解して覚える、

なにその非効率な勉強方法
解きもしないで身につくわけがない
C言語も同じ
0095デフォルトの名無しさん2006/08/30(水) 13:52:27
>>94
宿題を提出したり、テスト当日漬けには物凄く効率はいいがな。
ただ、指摘どおり身に付かないので追えなくなったらニート確定w
0096デフォルトの名無しさん2006/08/30(水) 13:53:52
もひとつ追加すると、周りから実力を過大評価され過ぎて
落ちたときにつらいw
0097デフォルトの名無しさん2006/08/30(水) 14:02:19
大学受験であれば>>91の方法は時と場合によっては効率的。
一概に非効率だとは言い切れない。
だがプログラミングの勉強においてその方法は何の役にも立たない。
0098デフォルトの名無しさん2006/08/30(水) 14:18:16
プログラム言語なんてものは、自分で書いて、コンパイルエラー出して、
実行させて思う通りに動かなくて悩んで・・・そうやって憶えるもんだ
0099842006/08/30(水) 14:39:53
>>94-95
大学受験でこの勉強方法が効率的だった(というか自分に合っていた)というのは
実体験も含めて分かってます。ここでそれは特に説明はしません。
>>94>>97>>98で言われているように
プログラミングに関しては効率的ではないことは分かりました。
ただ、初歩の部分というのは覚えだけのことが多くありますよね。
それにも>>98の方法が本当に効率的なのかというのは疑問でもあります。
もうちょっと参考書の使い方の部分まで考えていきたいのです。
例えば、
まずその章の説明を読んで例題を読む。
次にそれを自分で書き写しながら理解していく。
そこから同じことを使う練習問題を何題か解いてみる。

というような感じで。
0100デフォルトの名無しさん2006/08/30(水) 14:42:39
なぜそこで効率を問う?
早く理解すること より 正しく理解すること のほうが重要な分野だぞ?
0101842006/08/30(水) 14:46:36
>>100
なるほど。としか言い様がありません。
プログラムの経験が極浅いために、
イマイチ受験的な考えから抜け出せない感じです。
0102デフォルトの名無しさん2006/08/30(水) 14:48:55
固定的概念から抜け出せない奴も(ry
0103デフォルトの名無しさん2006/08/30(水) 15:09:50
>>99
人にアドバイスを貰っておいて、今度はそれを疑いだすとか基地外か?
第一、今のお前には、どんなアドバイスを貰っても
それが本当に効率的かどうかを判断できる能力が備わってないだろ。

本当は自分の中である程度勉強法が固まっていたものの、
不安だったので背中を押してもらおうとスレ住民に聞いたが、
反発されたのでうだうだ言っている。そんな風にしか見えない。
0104デフォルトの名無しさん2006/08/30(水) 15:15:52
文法の学習だけなら受験と同じ勉強法でもできるかも知れんがな。
実際に使ってみないと判らない事がい〜〜〜〜ぱいあるのだと思い知る事になるだろう。
0105842006/08/30(水) 15:16:35
>>103
全く自分の意に反しているレスです。
>それが本当に効率的かどうかを判断できる能力が備わってないだろ
判断できる能力とはどのような能力でしょうか。
>>98で書かれた方のやり方は一般的で最もいい方法だとは思いますが、
「初歩の段階で」というのを付け足して差し出がましく意見したまでですが。
下の3行も全く違いますね。

これ以上書くと荒れると思うので、では。
0106デフォルトの名無しさん2006/08/30(水) 15:20:54
初歩の段階でもいちいち書き写さないと覚えられないようなことなんてないんだが。
0107デフォルトの名無しさん2006/08/30(水) 15:23:52
>>105
そうやって知識も無いくせに自分が一番正しいと思っていればいい。
0108デフォルトの名無しさん2006/08/30(水) 15:27:39
今頃84は忠告を無視してせっせとノートに何か書き写している
0109デフォルトの名無しさん2006/08/30(水) 15:29:27
1) 早くゴミコードを生産する奴 しかも、正しく動かない
2) 早くゴミコードを生産する奴 しかし、なんとなく正しく動いてるっぽい
3) 時間はかかるが安心できるコードを生産する奴 しかし、正しく動かない
4) 時間はかかるが安心できるコードを生産する奴 正しく動作している

俺は 2) が一番やっかいだ
0110デフォルトの名無しさん2006/08/30(水) 15:30:25
時間をかけてゴミコードを生産する奴は無視ですか?
0111842006/08/30(水) 15:30:53
>>108
写すというのはノートにじゃなくて
実際にそれを入力(写)して実行してみるということです。
誤解があったようなので最後に一言だけ。
0112デフォルトの名無しさん2006/08/30(水) 15:31:22
C言語勉強するのに一番重要な本が抜けてるしな
0113デフォルトの名無しさん2006/08/30(水) 15:35:59
>>110
ケースバイケースだな。 全く別の仕事まわすとかして対処してたりする。
0114デフォルトの名無しさん2006/08/30(水) 15:36:19
効率を求めて>>84〜>>111分の時間を潰したとは何たる皮肉
0115デフォルトの名無しさん2006/08/30(水) 15:39:37
>>84が↓の63と同一人物くさい件
http://pc8.2ch.net/test/read.cgi/tech/1153542424/63-
0116デフォルトの名無しさん2006/08/30(水) 15:39:46
>>110
部長でもやらせとけ
0117デフォルトの名無しさん2006/08/30(水) 15:49:06
この時期に初心者の質問が多いのが謎だ
0118デフォルトの名無しさん2006/08/30(水) 15:51:42
まー夏休みだし、情報処理技術者試験も締め切られたしな
0119デフォルトの名無しさん2006/08/30(水) 15:54:58
確かに基本情報合格目的でCをやる人は
効率を過剰に求めて自爆してもおかしくはないな
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:33
アセンブラより上で C++ より下。
0125デフォルトの名無しさん2006/08/30(水) 22:41:47
「Cは高水準言語」というのに、狂ったように噛み付いてた奴を、なぜだか思い出した。
0126デフォルトの名無しさん2006/08/30(水) 22:59:42
Cは高級アセンブラかどうかの話題は、

struct String_T {
int length;
char value[1];
};

当人が、可変長オブジェクトについて、
この型の使い方に意義を出すか、許容するかの問題と同じに感じる。
0127デフォルトの名無しさん2006/08/30(水) 23:39:47
俺には単に相対的かどうかの問題に見える
あ、議論に意味が無いってことか?
0128デフォルトの名無しさん2006/08/30(水) 23:47:53
char value[];と書きたくなるC99使い。
0129デフォルトの名無しさん2006/08/31(木) 01:41:52
実務のC99使いを見た事が無いんだ。
都市伝説の類かとすら思ってた。

変な書き方しなけりゃ吐かれるコードの質はCと大差ないC++は
超級覇王アセンブラですか?
0130デフォルトの名無しさん2006/08/31(木) 02:06:12
>>129
時は流れても、C++は永遠にCのトランスレーターでしょ?
0131デフォルトの名無しさん2006/08/31(木) 02:13:26
>>130
現在実用されてる C++ コンパイラのうちで、
C のトランスレータと言えるものは一つも知らん。
0132デフォルトの名無しさん2006/08/31(木) 02:24:03
上に同じ。
0133デフォルトの名無しさん2006/08/31(木) 02:24:37
>>131
MIWA-C++というのがトランスレータでした。しかし、例外処理が
取り入れられると、どうしてもトランスレータでは機能を実現でき
なくなり、また一度にコンパイルできるコンパイラの方が速度が
速いので、トランスレータは消えて行った。
0134デフォルトの名無しさん2006/08/31(木) 02:32:31
C++登場初期はともかく、例外とテンプレートの出現で駆逐されたよな
0135デフォルトの名無しさん2006/08/31(木) 02:38:52
>>130なんだが、ちょっと気に障ったようで追記しておくと、
Cへのトランスレーターがあるかないかじゃなくて、
せいぜいC++ができることは(と言うかC++の思想自体が)
その程度といいたかっただけだ。

一応別言語なのに、printf("\n");はないでしょ。
cout <<endl; じゃないのか?ということ。

Cと文法(構文)が似ているJavaはまったく別言語として捉え
られているけど、Cの文法を拡張したC++はなんかCと同じ
ように見られている。これじゃC++はいつまでたってもCの
ゴニョゴニョと言われても仕方ないんじゃないの?

ということ。誤解なきよう。
0136デフォルトの名無しさん2006/08/31(木) 02:46:56
>>135
Cの文法を拡張したのがC++、という時代はとっくに過ぎ去って、
今ではCの上位互換性を保ちつつも全く異なる言語になってしまって
いると思う。
0137デフォルトの名無しさん2006/08/31(木) 02:51:11
>>136 いや、だから気にしないで>>135はスルーしてくれ。
0138デフォルトの名無しさん2006/08/31(木) 02:56:01
まあ、それがC++のいいところではあるのだし。
そうは言ってもBetterCのためだけにC++使う奴なんて
いい加減絶滅したとも思うけど。
0139デフォルトの名無しさん2006/08/31(木) 02:58:03
>>136
まったく別言語になったのかよりも、
それを言うなら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
>>141
ひでぶはいいがあべしは駄目。

ひでぶは値を返すのに対し、あべしはポインタを返す。rin[]はあべし関数
終了後消滅するので、どこか変なアドレスを指す事になる。
0143デフォルトの名無しさん2006/08/31(木) 06:53:41
>>139-140
C++0x
http://pc8.2ch.net/test/read.cgi/tech/1149440647/
0144デフォルトの名無しさん2006/08/31(木) 13:32:52
>>135
じゃあ、Visual Basicは何のゴニョゴニョだ?
0145デフォルトの名無しさん2006/08/31(木) 16:40:07
>>142
愛を失ってさ迷っていましたが
血渡しだと大丈夫だと知って安心しました
次の殿商社を求めて旅立つことにします
お世話になりました
0146デフォルトの名無しさん2006/08/31(木) 23:44:52
まさかとは思うが、「値渡し」を「ちわたし」と読んでいたりするのだろうか。
0147デフォルトの名無しさん2006/08/31(木) 23:56:39
戻り値を返り血というとか、よくある。
0148デフォルトの名無しさん2006/09/01(金) 05:05:19
頭が頭痛で痛いんだけど、どうすればいいんですか?
0149デフォルトの名無しさん2006/09/01(金) 09:48:59
お前のいま感じている感情は精神的疾患の一種だ。
しずめる方法は俺が知っている。俺に任せろ。
0150デフォルトの名無しさん2006/09/01(金) 18:59:32
C/C++にて数値をC文字列に変換したいとおもったときに
sprintfでやるには、バッファをあらかじめ用意し置く必要がある。
このバッファサイズを決めるにはどうすればよいでしょうか?

やっぱり十分なサイズを確保しとけ!ですか??
0151デフォルトの名無しさん2006/09/01(金) 19:03:28
それで何か問題ある?
0152デフォルトの名無しさん2006/09/01(金) 19:17:02
「充分なサイズ」を自分で決定するのが嫌なら
CHAR_BITとsizeof(int)を使って、最大の桁数を算出すりゃいい。

俺はやらないけどな。
0153デフォルトの名無しさん2006/09/01(金) 19:18:12
>>150
C99なら、snprintfで最初の引数をNULLにすれば必要なバッファの大きさが戻り値として得られたと思う。
また、処理系によってはバッファの大きさを得るための関数が独自に用意されていることもある。
0154デフォルトの名無しさん2006/09/01(金) 19:22:25
しかし明確に規定される以前のsnprintfは
バッファが足りないと-1を返したりしてややこしい。

VC++の_snprintfもそうだった気がする。
0155デフォルトの名無しさん2006/09/01(金) 20:53:25
tmpfile + fprintf + ftell でいいんじゃね。
これで必要なバッファサイズがわかる。
0156デフォルトの名無しさん2006/09/01(金) 21:55:20
>>155 手の内がANSIしかないならそれがいい。
0157デフォルトの名無しさん2006/09/01(金) 22:31:00
最近、どのようにプログラムを構築するか悩んでいます。
ある処理を行うためのサブルーチンはできて、あとはそれの組み合わせなのですが
今までは何も考えず、様々なところでグローバル変数を使ってました。

もう少し、わかりやすく移植しやすいプログラムを作りたいのですが
何かよい方法はありますか?
引数で渡す方法ですと、インプットはそれで良いですがアウトプットでは
返り値だけだと足りません。(だから今まではグローバル変数を多用していた)

特にC言語だと色々とやりたいようにできるのがメリットでもありデメリットでもあるんですよね・・・
0158デフォルトの名無しさん2006/09/01(金) 22:36:46
>>157
構造体、もしくは構造体へのポインタを使えばよいだろ。
0159デフォルトの名無しさん2006/09/01(金) 22:39:21
>>157
> 返り値だけだと足りません。(だから今まではグローバル変数を多用していた)
呼ぶ側で引数にアドレス入れて、関数側でそのアドレスに値を入れてあげるように
つくれば、引数で値のやりとりができるよ
0160デフォルトの名無しさん2006/09/01(金) 22:51:40
>159
でも、そのやり方だと引数が多くなるよね。

まあ俺も、色々と良い方法がないか思案している。157もがんばってくれ。
0161デフォルトの名無しさん2006/09/01(金) 22:55:03
>>160
その関数が処理するデータを構造体にまとめて、そのポインタを引数とする。
この方法を発展させると C++ でのクラスに行き着く。
0162デフォルトの名無しさん2006/09/01(金) 22:57:15
>>161
唐突に何かを理解した気がする。
質問者じゃないがありがとう。
0163デフォルトの名無しさん2006/09/01(金) 23:03:05
>161
でもそうすると、お互いきちんとその構造体を理解し管理しないとだめですよね。
あと、構築するときは

メイン処理
|
|−中ぐらいの処理
|
|−中ぐらいの処理
|     |
|     |−実際の処理を行う小さなサブルーチン
|     |−実際の処理を行う小さなサブルーチン
|     |−実際の処理を行う小さなサブルーチン

こんな感じ?
0164デフォルトの名無しさん2006/09/01(金) 23:07:45
>>163
構造体を理解し管理するのも、関数を提供する側にするのが望ましい。
そこでコンストラクタ、デストラクタという考え方に至る。
0165デフォルトの名無しさん2006/09/02(土) 01:01:12
FILE * file=fopen(a1,a2);
fprintf(file,b1,b2);
fclose(file);
の手続きと同じなんだよ。
構造体とかクラスとかでオブジェクトへのアクセスの原点は。
0166デフォルトの名無しさん2006/09/02(土) 07:39:04
すいません。割り込みます。教えてください。
文字コードを出力させるようなプログラムで
printfの出力がおかしくなります。その理由が
よくわかりません。

#include <stdio.h>
#define MAX 8

int main()
{
int i;
unsigned short CODE;
unsigned char hi,lo;
CODE=0x8888;

for (i=1; i<=MAX; i++)
{
lo = CODE & 0xFF;
hi = CODE >> 8 & 0xFF;

printf("0x%x:%c%c ",CODE,hi,lo);
if ( (i % 4) == 0 )
printf("\n");
CODE++;
}
printf("\n");
}
0167デフォルトの名無しさん2006/09/02(土) 07:44:24
> よくわかりません。

そうですか。
0168デフォルトの名無しさん2006/09/02(土) 08:20:06
>>166
>printfの出力がおかしくなります。その理由が
いいえ、printf()の出力がおかしいのではなく、あなたがおかしいのです。
初心者スレにでも逝ってください。
01691502006/09/02(土) 14:50:53
VBからこっちきたんだけど
VBでは十分なサイズを事前に用意するっていう
行為なんてやらないので「自分できめる」ことに抵抗あった。

Cならそんな無駄なことはしないと思ってたけど、
一般的なら適当なサイズを指定しときます。
0170デフォルトの名無しさん2006/09/02(土) 16:36:01
VBって(VB6でも)微妙にOOPだから、Cとは思想が違うんだよね
型は適当に相互変換できるし、下手すると変数すら事前に宣言しなくてもいいし>VB
0171デフォルトの名無しさん2006/09/02(土) 16:42:02
VB を C より OOP って言う奴もいるんだ…
0172デフォルトの名無しさん2006/09/02(土) 17:32:09
COM/ActiveXがオブジェクト指向になっているから、
それにべったり依存しているVBをOOPだというのも俺は違和感を感じない。
0173デフォルトの名無しさん2006/09/02(土) 17:40:36
ププ
0174デフォルトの名無しさん2006/09/02(土) 17:45:25
Cでよりよいプログラム構成方法を考えると
頭が痛くなる。

オブジェクト指向とかをCでやろうと思ったけど
他人(職場の人)が見てもわかりやすく、使いやすいようにと思うと
結局そこまで踏み込めない。そう思うとシンプルなつくりがベストなのかな?

せいぜい、関数ポインタと構造体をうまく組み合わせて
なるべくわかりやすく作るしかないのか・・・

ちなみに仕事はファームウェアの設計で、今はLANドライバを担当しています。
■ このスレッドは過去ログ倉庫に格納されています