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