- 1 名前:デフォルトの名無しさん [04/07/18 03:31]
- あと、どの入門書が初心者には
最善でうかね?
- 8 名前:デフォルトの名無しさん mailto:sage [04/07/18 03:53]
- mainも関数、printfもscanfも関数。
- 9 名前:デフォルトの名無しさん mailto:sage [04/07/18 03:55]
- ・・・・・・とりあえずsageよう
- 10 名前:デフォルトの名無しさん mailto:sage [04/07/18 04:01]
- 酔っ払いを追放しよう
- 11 名前:デフォルトの名無しさん mailto:sage [04/07/18 05:19]
- #includeを一つも書かないで(自分で定義するのも除く)
呼び出せるのってmainだけだっけ?
- 12 名前:デフォルトの名無しさん [04/07/18 06:18]
- 理解しづらくなるだけでねえか?
- 13 名前:デフォルトの名無しさん mailto:sage [04/07/18 06:19]
- 関数ができないの意味が分からない
- 14 名前:デフォルトの名無しさん mailto:sage [04/07/18 07:22]
- 関数は難しくないと思うよ。
関数の呼び出しがあったら、関数にワープして、処理を終えたら戻ってくるだけ。 というか、mainも関数だから、できないと実行すらできないよ。 #include <stdio.h> void kansuu(void) { printf("関数\n"); } int main(void) { kansuu(); return 0; }
- 15 名前:デフォルトの名無しさん mailto:sage [04/07/18 07:48]
- >>1
単発質問でスレを立てないでください。 ***すれ立てるまでもない質問はここで 第56刷*** pc5.2ch.net/test/read.cgi/tech/1088022524/ C言語なら俺俺に聞け! Part 86 pc5.2ch.net/test/read.cgi/tech/1089863973/
- 16 名前:デフォルトの名無しさん mailto:sage [04/07/18 09:43]
- >>11
そのmainは お前が定義してるんじゃないのか?
- 17 名前:デフォルトの名無しさん [04/07/18 09:47]
- >>8
main() は関数、 printf() も scanf() も関数。 malloc() は関数だが、 free() は関数ではない。 値を返さないので関数ではない。 ただし、上記五つは全て function である。
- 18 名前:デフォルトの名無しさん [04/07/18 09:51]
- Cの関数は数学の関数とは違う。
- 19 名前:デフォルトの名無しさん mailto:sage [04/07/18 09:51]
- >>17
入門者にそんな言葉遊びを仕掛けても仕方がない。
- 20 名前:デフォルトの名無しさん [04/07/18 09:58]
- >>8が入門者には見えない。
- 21 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:07]
- >>20
>>8よ。謙虚にならんといつか叩かれるぞ。
- 22 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:13]
- >>18
意味するものは同じだ。 つまり、誤訳だ。
- 23 名前:デフォルトの名無しさん [04/07/18 10:26]
- >>17
> free() は関数ではない。 > 値を返さないので関数ではない。 メモリを解放するという出力はありますね。
- 24 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:31]
- プログラム言語ではprintf()だろうがfree()だろうが関数と呼ぶがな。
- 25 名前:デフォルトの名無しさん [04/07/18 10:35]
- >>24
手続きもあるな。
- 26 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:37]
- >>25
Cで手続きはでてこないな。
- 27 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:42]
- >>26
素直に謝れ、>>24よ。 主語が「プログラム言語」の時点でお前の負けだ。
- 28 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:46]
- >>27
主語じゃなくて副詞の一部だよ
- 29 名前:デフォルトの名無しさん mailto:sage [04/07/18 10:50]
- >>28
うっせぇこのコンパイラ野郎め!
- 30 名前:デフォルトの名無しさん mailto:sage 俺もなー(´∀`) [04/07/18 14:28]
- 外で遊べよ。
- 31 名前:デフォルトの名無しさん mailto:sage [04/07/20 03:26]
- >>11
>>16 これで結論でてる
- 32 名前:デフォルトの名無しさん [04/11/22 10:50:04]
-
- 33 名前:デフォルトの名無しさん [05/02/15 03:47:30 ]
- つまり、#includeを一つも書かないで(自分で定義するのも除く)呼び出せるのは何もないと?
- 34 名前:デフォルトの名無しさん mailto:sage [05/02/15 20:37:15 ]
- C99は知らんけどintを返す関数なら問題なく呼び出せるはず
いや、スレの趣旨的に関数呼んだら駄目なんだったか?
- 35 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 21:04:30 ]
- >>33
#includeを書かなきゃ呼び出せない関数ってあまり無いと思う。 fopen位しか咄嗟には出てこない。
- 36 名前:デフォルトの名無しさん mailto:sage [2005/09/12(月) 08:07:15 ]
- 古い仕様との互換性のためにstdio.hとstdlib.hは省けるんだっけ。
さすがにマクロ(EXIT_SUCCESSとか)使うときはそーもならない
- 37 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 00:18:03 ]
- ヘッダをincludeしなくても自分で宣言すればいい(プロトタイプ宣言じゃなくてもいいけど宣言自体を省くのは無理、つか未定義)
でもtypedefされた型を使ってたりマクロを使わないと呼び出せなかったりするような関数は宣言だけあっても呼び出せない
- 38 名前:デフォルトの名無しさん [2005/12/24(土) 01:46:22 ]
- 38ゲトズサー
 ̄ ̄V ̄ ̄ ̄ ̄ ̄ ∧ ∧ ⊂(゚Д゚⊂⌒^つ≡3
- 39 名前:デフォルトの名無しさん mailto:sage [2005/12/24(土) 03:08:12 ]
- そういうのをC言語を理解できたとは言わないから、不可能ってことでいいんじゃない?
- 40 名前:デフォルトの名無しさん mailto:sage [2005/12/24(土) 12:17:07 ]
- >>1
それはつまり #include<stdio.h> main() { int i; printf("%d"i); return 0; } こういう規模のプログラミングしかできないんだけど、 関数の引数すら上手くやり取りできない自分でございますがC言語を理解したと 他人に言い放ちたいって意味ですか?
- 41 名前:デフォルトの名無しさん mailto:sage [2005/12/24(土) 12:33:34 ]
- あるいは自分でも関数を使っている事に気付かず
最先端のCUIアプリケーションゲームの開発をなさっておられる方ですか?
- 42 名前:デフォルトの名無しさん mailto:sage [2005/12/24(土) 12:49:39 ]
- >>1
ならば、話ははやいです。できます。理解できます。 おそらく関数を必要としないマシン語レベルで理解なさられておられるのでしょう そんなコンピュータのような思考をする貴方に理解できないはずはありますまいて
- 43 名前:デフォルトの名無しさん mailto:sage [2005/12/25(日) 16:28:33 ]
- アセンブラで考えるとstackとgotoが理解できないんだろ?
- 44 名前:デフォルトの名無しさん mailto:sage [2005/12/26(月) 15:48:57 ]
- 101110001011101 手打ち
- 45 名前:デフォルトの名無しさん mailto:sage [2005/12/26(月) 17:32:09 ]
- >>44
古いミニコンでブートローダー手打ちするときは そんな感じだったが。
- 46 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 20:22:41 ]
- >>42
それもC言語理解してるとは言わないだろ。
- 47 名前:笹井奈琴 mailto:sage [2006/01/14(土) 23:18:31 ]
- 共用体やビットフィールド、関数ポインタなんかをしらないひとが
「俺C言語理解してるぜ」って言うのは、まあ許してやるが、 関数を知らないんじゃな...
- 48 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 13:27:39 ]
- 俺関数全く出来ないけどCやってるよ
- 49 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 22:06:27 ]
- >>48
まあお前が関数できなくてもお前が関数を書ければ問題ないかな。
- 50 名前: ◆RepAhs6cJ2 mailto:sage [2006/05/10(水) 21:20:36 ]
- このスレの>>1は、多分プログラミングでいう関数と、
中学校で習うような一次関数・二次関数を勘違いしてるのではないだろうか。 プログラミングの本を読んでみたら、関数という言葉が載っていたのだが、 自分は学校の関数の授業をまだ理解していたいので、プログラミングが 習得できるかどうか不安に思いこのスレをたてたと推測
- 51 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 05:20:05 ]
- >48
てめー!俺はまだ童貞だっつーのに!ヽ(`Д´)ノ
- 52 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 05:19:09 ]
- pc8.2ch.net/test/read.cgi/cg/1028037225/54
- 53 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 17:37:05 ]
- test
- 54 名前: ◆MxmMRNB472 mailto:sage [2006/11/06(月) 19:28:36 ]
-
- 55 名前:デフォルトの名無しさん [2006/11/08(水) 23:00:56 ]
- 関数を知った時の感想を述べると、htmlのタグみたいに感じた。
- 56 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 18:01:06 ]
- t
- 57 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:19:16 ]
- >>55
どんな感想だったの?
- 58 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:06:42 ]
- >>57
そのままの意味だけど・・・ 関数をタグみたいに覚えて扱うと楽しくてしょうがない
- 59 名前:デフォルトの名無しさん [2007/06/30(土) 20:17:04 ]
- age
- 60 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 20:39:34 ]
- 3BGET
- 61 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 03:38:39 ]
- >>33
#include使わなくても手作業でヘッダーファイルの中身をソースファイルにコピペすればいい まあでも、関数がわからない = main()やprintf()もわからないってことでしょ?何もできないじゃん
- 62 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 22:22:28 ]
- >>18, >>50
そういうことだったのか・・・
- 63 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 02:50:54 ]
- >>40
w
- 64 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 22:08:50 ]
- 関数がいやならアセンブラにしとけ
- 65 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 15:34:01 ]
- call >>64
- 66 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 10:10:01 ]
-
__,,:::========:::,,__ ...‐''゙ . ` ´ ´、 ゝ ''‐... ..‐´ ゙ `‐.. / \ .................;;;;;;;;;;;;;;;;;;;;;;::´ ヽ.:;;;;;;;;;;;;;;;;;;;;;;................. .......;;;;;;;;;;゙゙゙゙゙゙゙゙゙゙゙゙゙ .' ヽ ゙゙゙゙゙゙゙゙゙゙゙゙゙;;;;;;;;;;...... ;;;;;;゙゙゙゙゙ / ゙: ゙゙゙゙゙;;;;;; ゙゙゙゙゙;;;;;;;;............ ;゙ ゙; .............;;;;;;;;゙゙゙゙゙ ゙゙゙゙゙゙゙゙゙;;;;;;;;;;;;;;;;;.......;............................. ................................;.......;;;;;;;;;;;;;;;;;゙゙゙゙゙゙゙゙゙ ゙゙゙゙i;゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙;l゙゙゙゙゙ ノi|lli; i . .;, 、 .,, ` ; 、 .; ´ ;,il||iγ /゙||lii|li||,;,.il|i;, ; . ., ,li ' ; .` .; il,.;;.:||i .i| :;il|l||;(゙ `;;i|l|li||lll|||il;i:ii,..,.i||l´i,,.;,.. .il `, ,i|;.,l;;:`ii||iil||il||il||l||i|lii゙ゝ ゙゙´`´゙-;il||||il|||li||i||iiii;ilii;lili;||i;;;,,|i;,:,i|liil||ill|||ilill|||ii||lli゙/`゙ ´゙`゙⌒ゞ;iill|||lli|llii:;゙|lii|||||l||ilil||i|llii;|;_゙ι´゚゙´`゙ ´゙゙´`゙``´゙`゙´``´゙`゙゙´´
- 67 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 02:48:35 ]
- >>63
できるよ。 以上。 ↓次どうぞ
- 68 名前:デフォルトの名無しさん [2008/01/09(水) 18:41:42 ]
- Lispは関数が出来なくても理解可能ですか?
- 69 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 13:18:48 ]
- Haskellは(以下略
- 70 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 16:43:35 ]
- Elangは(以
- 71 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 16:44:18 ]
- Erlangだた
- 72 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:51:27 ]
- なんだよ
糞スレじゃん
- 73 名前:デフォルトの名無しさん [2008/01/21(月) 20:06:00 ]
- Cプログラマの為に、ポイントをまとめたドキュメントを販売しています。
プロのプログラマでもあまりにレベルが低い人が多すぎます。 そんな人に限って、自分のレベルの低さを自覚していない、、、 本人は構わないかもしれませんが、その下についた新人プログラマは たまったものではありません。(私が経験しました。) 今になって分かりました。 彼らもまた、理解できていなかったのです。 プログラミング言語の一番の習得の近道はきちんと理解している人にアドバイスをもらうこと。です。 私のC言語に取り組んだ7年間をすべてぶつけたつもりでテキストを作りました。 私の会社の後輩からは、どんなテキストよりもわかりやすかった!や、 今まで教えてくれていた先輩や、テキストたちが、ちゃんと理解できていないことがわかりました。 と、嬉しいコメントをたくさんもらいました。 そしてなにより、彼らの社内での評価がとても高いということが、私の誇りです。 興味がある方はどうか、下のサイトをみてみてください。 mori.eco.to/
- 74 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:19:04 ]
- どうでもいいけど、qsort()の実装にmalloc()の仕様を認めるって変じゃね?
- 75 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:20:17 ]
- このスレでぬるぽしてもおそらく誰も気づくまい。
/\ /\ /:::::::ヽ____/::::::::ヽ、 丿 ::.__ .::::::::::::: __ ::::ヽ_ ,. 、 / / / /。 ヽ_ヽv /: /。ヽ ::::::ヽ ,.〃´ヾ.、 / / / / ̄ ̄√___丶  ̄ ̄\ ::::| / |l ', / / | .:::::::::: / / tーーー|ヽ ..::::: ::|r'´ ||--‐r、 ', ぬ る ぽ ぬ る ぽ ぬ る ぽ !! | .:::::. ..: | |ヽ .,..ィ'´ l', '.j '. ぬ る ぽ ぬ る ぽ ぬ る ぽ!! | ::: | |⊂ニヽ| | 'r '´ ',.r '´ !| \ | : | | |:::T::::| ! l! ....:.:.:.:.:.:ヽ、 ,l \ \: ト--^^^^^┤ ゝ、.,_ ---‐‐‐----ゝ、ノ
- 76 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:30:05 ]
- いまどきぬるぽとかw
- 77 名前:デフォルトの名無しさん [2008/06/25(水) 23:07:07 ]
- 数学の関数とC言語の関数って同じ意味じゃん
引数は何個でもいい、戻り値は一個だけ。 同じじゃん。 void関数も漸近線のある関数なら漸近線を超えれば戻り値がないでしょ。 どこがちがうの?
- 78 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:13:01 ]
- 副作用の有無。
数学の関数は、同じ引数を与えると値が返るだけだが、 Cの関数はそれ以外の効果を生むことがある。例えば、出力を行うprintfなど。
- 79 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:25:44 ]
- >>77
戻り値は引数の写像ではないので数学でいう関数とは異なります。 アホ?
- 80 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:25:58 ]
- おまえらの言いたいことの察しはつくが不正確
同じ所もあるが、むしろ「違いが分からなければ」理解不能
- 81 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 05:29:42 ]
- >>78-79 正しい >>80 アホ
- 82 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 15:26:10 ]
- >関数ができなくても
ワロタ
- 83 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 02:12:42 ]
- 漏れの周りにも一人だけ関数が理解できないというやつがいたが、
そいつは関数の作成ができなかった。 特に、配列やポインタの受け渡しになると絶望的だった。 1って、そういう意味じゃね?
- 84 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 13:48:07 ]
- Cの関数以外を理解することは可能だろうが、C言語には関数も含まれるんだから
C言語を理解したと言い張るつもりなら関数も理解しなければならない。 昔アセンブラ入門でサブルーチンを別の工場のラインにたとえてるのがあったが ああいう本ってまだあるのかねぇ。
- 85 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 22:04:11 ]
- 昔Cを使ってたが意外に関数なんていらなかった
関数と違って型チェックはないけれど 全部マクロ関数で書いてcppに展開させる 最終的にインラインアセンブラに展開される
- 86 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 22:22:05 ]
- ようするに関数ってのはライブラリのバイナリをシンボルで呼んでるわけで
同じ関数は1つしかリンクされない マクロの場合はは全部ベタに展開されてしまうから無駄が多くなる
- 87 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 23:51:10 ]
- int main(){
return 0; } こんな定型書式はIDEが自動で書いてくれるから とくに関数を知らなくても問題ない 関数という、プログラムのリサイクル手法を使うか それともたとえ繰り返し部分があってもリサイクルしないで あえて上から下まで平文で打つか 関数を使うも使わないも個人の自由
- 88 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 11:51:35 ]
- そりゃ、趣味グラマなら好きにするがいいさ。
- 89 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 15:57:56 ]
- 関数は邪道だよ
漢なら関数に頼らず Cの基本リテラルだけで書け 関数に分割すると全体の構造がわかりにくくなるから 何のための構造化プログラムだかわからんしな
- 90 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 16:18:06 ]
- コボラーはこれだから
- 91 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 16:48:10 ]
- >関数に分割すると全体の構造がわかりにくくなるから
>何のための構造化プログラムだかわからんしな
- 92 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 17:40:16 ]
- >>91
gotoとか関数を使うやつはアホ
- 93 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 18:55:48 ]
- >関数に分割すると全体の構造がわかりにくくなるから
>何のための構造化プログラムだかわからんしな
- 94 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 19:06:04 ]
- 見通しが悪くなるんだよ
関数に逝ったり返ったりして可読性を妨げる スパゲッティーは万死に値する
- 95 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 19:34:24 ]
- とりあえず94には手本になるソースを上げてもわわなければ
- 96 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 20:14:08 ]
- >関数に分割すると全体の構造がわかりにくくなるから
>何のための構造化プログラムだかわからんしな
- 97 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 20:37:15 ]
- 関数を使うとダメなんだよ
繰り返し使うなら繰り返し構文の中で条件を指定して使うことだ 全体の中での位置を明確にして、流れを中断しないことが 質のよいプログラムを書く原則な
- 98 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 20:52:08 ]
- >>4-5
そんな便利な方法があったとは知らなかった >>11 #includeはファイルをそのまま展開するだけだから #includeはあっても別にいいよ
- 99 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 20:56:56 ]
- >>78
副作用っていうか、作用させるのがプログラムの仕事で、 戻り値が副作用だろ
- 100 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 21:16:08 ]
- >>61
printf()等を使うのがCだと思ったら、それは違う それは標準関数の使い方を知っているにすぎない C本来の使い方とは一切関係ないから
- 101 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 22:13:30 ]
- >>1
俺はVBAのメソッドの作り方は知らないが関数・プロシージャの作り方ぐらいは知ってる 「メソッドとか関数はできないがVBでプログラム作ってる」 は有りなんじゃない? 関数なんて糞だから使わないけどな ×→「関数はできないがC言語理解してる」 ○→「C言語を理解たら関数なんて使いません」
- 102 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 22:20:47 ]
- もういい……もういいんだ。お前は良くやった。
他の誰が認めなくても俺が良くやったと認める。 だから、だからこれ以上無駄な涙を流させてくれるな……! 俺と一緒にコボルへ帰ろう。あそこは良いところだ。 gotoだってお前を待ってる。 そんな見当違いの主張をせずに済むんだ。さぁ、帰ろう。
- 103 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 22:45:43 ]
- どうしてもコボル使いにしたいようだな
- 104 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 00:04:11 ]
- >>99
式の結果を計算することが作用、それ以外が副作用。 慣習的にそう言い表すことが多いというだけのこと。
- 105 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 06:28:15 ]
- バカチンだな。
動作させることが主目的で、値は無い場合もあるんだから、 値が副作用だ。
- 106 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 07:49:17 ]
- >>84
純粋なC言語には関数は含まれず、 他の人が作った外部プログラムをリンクさせたいときにだけ 関数(すでに誰かがなんらかの言語で作った外部プログラム=別工場のライン) を使いますが、関数の宣言と起動はリンクのための作法なので C言語の言語仕様からは多少離れた話になってきます サブルーチンにするというのは、一種の圧縮法にすぎず、 人間の頭で圧縮工程までやろうとするからコードが醜くなるわけです 1つの実行ファイルを生成しようとするときは、相当する関数main()1本で書くのが正解
- 107 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 08:43:31 ]
- >>96
関数では構造化されているとはいい難い ブロックを使って書くべきだろう
- 108 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 00:23:44 ]
- >>1
hello worldぐらいは誰でもできるね 関数の使い方はただそこに関数を書くだけでいいんだ >>1は関数の定義ができないんだと思う それはむしろ幸いなことだね >>1のレベルだと、普段使わないようなライブラリ関数の 呼び出しも苦労しそうだが まあ、百歩譲って関数の呼び出しは容認してもいい しかし、相当の理由がない限り関数を定義してはいけない
- 109 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 00:38:19 ]
- 関数を使わないことのデメリットって何かあるかな
スコープの問題が思い浮かぶが、ブロックにすればいい 字下げして常に{}の対応を明確にすることで 関数より遥かに処理の流れがわかりやすくなる
- 110 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 08:33:33 ]
- C言語に限らず、どの言語でも関数はよくない
できる限りプリプロセッサへのマクロ定義とか エディタのタグジャンプ機能などに頼りつつ 得ようとする実行コードに近い形でソースを出力させた後に コンパイラを通すべき オブジェクトを細かく分ければ再コンパイル時間の節約にはなるだろうが たったそれだけのために保守性を犠牲にするのは馬鹿げている 関数は百害あって一利なしといえる
- 111 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 10:45:25 ]
- C言語の要はマクロ展開にあると思う
関数などがあるおかげで、関数に合わせてデータ型を気にしたりする必要が 増えて、不必要に言語学習を難しいものにしているし 型ごとに用意する関数には汎用性がなく煩雑になってしまう場合がある マクロでできることを関数などにして、 いかにも関数がC言語を特徴づける書式だというのは 頭のおかしい人がいってることだ
- 112 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 12:06:06 ]
- 関数ってリソースが限られていたころの苦肉の策だから
モバイルのセルフ開発でもない限り、近いうちに廃止されることだろう
- 113 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 18:53:15 ]
- コンパイラって、ソースコードをマクロ作業的にアセンブラに渡すコードに置き換える物だから
結局機械的な置換マクロ動作の繰り返しになる 機械翻訳的にCPUのネイティブコードに変換する プログラムの基本は関数よりもマクロだというのは プログラム作りを実行ファイル完成まで通してやったことの ある人は感覚的にわかるだろう
- 114 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 10:59:55 ]
- >プログラムの基本は関数よりもマクロ
- 115 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:22:40 ]
- 関数型言語は知らないのでコメントできない
C言語はただ手続きを書き並べただけの手続き型言語 関数というより手続きと戻値という感じだろ 利用価値ないよね
- 116 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:43:55 ]
- これはまた面白い気狂いが湧いてますね。
- 117 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:44:42 ]
- 関数(笑)
- 118 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:08:18 ]
- 1つの関数は1つのアプリケーション
関数は外部プログラムに等しい扱いとする 内部関数も関数は関数なので同じ あまり小さな単位で関数を作らず、 関数は完全に別プログラムとして動作させられる単位に限るべき 複数の人間で1つのソフトを作る場合でも ソースを持ちよって1つに合成(コピペ)するほうが、 関数を行ったり来たりしながらの手直しより断然効率的だろう
- 119 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:18:36 ]
- 実例うp
- 120 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:31:37 ]
- Windowsのメモ帳でソース開いて編集しているビギナークラスの人は
ファイルが巨大化すると困るだろうから、遠慮せずに関数を使ってくれ
- 121 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 22:44:53 ]
- Cで関数使うなって言ってるやつは、アセンブリでサブルーチン使わなかったの?
- 122 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:49:48 ]
- アセンブリは速度が命
オーバーヘッドがあるサブルーチンなど極力使うのは愚の骨頂
- 123 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:57:58 ]
- >極力使うのは愚の骨頂
なるほど、関数を毛嫌いしている人は日本語も怪しいと。
- 124 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:42:15 ]
- 再帰的に呼び出すのでもない限りサブルーチンにする必要ないだろ
マクロがあるのに
- 125 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 05:28:52 ]
- 何故関数を毛嫌いするのやら。
マクロにするくらいなら、関数でいいじゃん。どうせ、コンパイラがインライン展開してくれるんだから。
- 126 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 22:33:37 ]
- そんな部分は当然のごとくマクロだろ
なんでわざわざ関数にするの
- 127 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 02:43:59 ]
- 関数のほうが楽だから
- 128 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:44:42 ]
- いまさらだが>>1表面調和関数のような関数の事を言っていたんじゃまいか?
- 129 名前:デフォルトの名無しさん [2009/01/03(土) 11:58:54 ]
- パソコン(引き値:キーボード、戻り値:ディスプレイ)は関数である。
- 130 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 12:31:33 ]
- つ標準入出力
- 131 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 15:46:07 ]
- 1はそういうこといってねーよ
関数がわからなくてもC言語使えるか? だろ 理解可能だ たいてい、センスのある初心者は ifとforと配列まで覚えたらゲーム作ろうとする main関数に数百行かく センスないやつは、そもそも、関数まで覚えてもその規模のソースさえなかなかかけない
- 132 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 16:13:06 ]
- mainに数百行だけでまともなゲーム書けるか?
ウィンドウ処理だけでも百行近く必要なのに
- 133 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 16:28:10 ]
- 標準ライブラリを必ず使わなければいけないなんてことはないが、
標準ライブラリを使う機会は少なくない。どんなものがあるかを知るのも重要だが、 どういう仕組みで、どう使うか、最低限のことは理解しておくべき。 第一、main関数を使っている時点で、既に理解していないと困るんだが。
- 134 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 12:53:50 ]
- >>132
オセロとかテトリスとか300ぐらいですんだ希ガス
- 135 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 01:58:41 ]
- >>133
全然困らない。mainしか使わないのだからmainの書き方だけ覚えればいい。
- 136 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 11:03:26 ]
- >mainしか使わない
こういう奴の存在が困る。
- 137 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 05:18:54 ]
- そんなやつは身近にいないから困らないw
- 138 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 20:40:19 ]
- は?
- 139 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 07:10:18 ]
- 「関数ができない」とは、実行できないということか?
実行環境なしに紙だけで勉強するのは非常につらいが、 まあ不可能ではあるまい。
- 140 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:11:23 ]
- スレ勃てから5年にして初めての珍解釈登場
- 141 名前:デフォルトの名無しさん [2009/09/11(金) 00:25:05 ]
- へ?
- 142 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 02:33:55 ]
- >>35
プロトタイプ宣言のない関数は暗黙にintを返すと見なされるので intからvoid*へキャストできる環境ならfopenだって呼べるぞ。 ↓のコードにgcc4.3.2は警告すら出さない。 (もちろんこんなスタイルをオススメする訳ではない) main(){ void* FP = (void*)fopen("hoge", "w"); if(FP){ fputs("hoge", FP); fclose(FP); } return 0; }
- 143 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 16:15:35 ]
- アセンブラでサブルーチン使わなかったらメモリアクセスのオーバーヘッドでかすぎ
になるだろうが 実際に使えもしないバカがいい加減なことを語るな
- 144 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 16:56:04 ]
- いきなり何言い出してんのかと思った。
>>121-122 へのレスか。 つか、去年の話にレスするならアンカーくらい付けろ阿呆。
- 145 名前:ぅゅ ◆e6.oHu1j.o mailto:sage [2009/09/19(土) 17:55:13 ]
- 自作関数縛りのプログラミングとか楽しそう
define使っちゃうと面白くないからそれもなしで
- 146 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 06:46:45 ]
- 俺なら入力も出力も無いプログラムが出来そうだ
- 147 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 16:41:51 ]
- 非チューリングマシンか。
- 148 名前:デフォルトの名無しさん [2009/09/30(水) 21:07:11 ]
- 実は…
- 149 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 08:51:36 ]
- 入学式のときから俺…
- 150 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 13:50:38 ]
- お前のことが…
- 151 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 21:17:18 ]
- ヤらせろ!
- 152 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:15:16 ]
- >>143
アセンブラではそんなに大きなプログラムは作らないから 問題ない。構造が明確であることが大切。 サブルーチンは使うな。
- 153 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:17:13 ]
- >>152
>サブルーチンは使うな。 となると >構造が明確であることが大切。 構造も糞もないわけだが。 頭おかしいの?
- 154 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:42:10 ]
- はぁ?
あっちこっち飛ぶなって言ってるんだよ 1つの流れのなかにブロックでコピペしろって言ってるの
- 155 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 06:56:26 ]
- はぁ?
- 156 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 07:41:44 ]
- えっ?
- 157 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 10:18:15 ]
- >>154
もう書けば書くほどボロがでる状態。
- 158 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:28:59 ]
- サブルーチンは使うな
アンカーも使うな
|

|