1read 100read
2011年10月1期プログラムC言語は関数ができなくても、理解可能か?
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
Cで書くかアセンブラで書くか・・・
[無料でラクラクJava帳票作成] JasperReports使い集合
ミスターサタンのC#相談室
C言語で素晴らしいオセロを作らないか?
C言語は関数ができなくても、理解可能か?
- 1 :04/07/18 〜 最終レス :11/11/22
- あと、どの入門書が初心者には
最善でうかね?
- 2 :
- 関数できない人に理解できる入門書はありません
- 3 :
- 不可能。不可能。不可能。
- 4 :
- 別名 ... 手動inline
- 5 :
- 略して手
- 6 :
- http://www.anaconda.com/ap97-31-75.jpg
- 7 :
- 糞すれ立てんなカス。
- 8 :
- mainも関数、printfもscanfも関数。
- 9 :
- ・・・・・・とりあえずsageよう
- 10 :
- 酔っ払いを追放しよう
- 11 :
- #includeを一つも書かないで(自分で定義するのも除く)
呼び出せるのってmainだけだっけ?
- 12 :
- 理解しづらくなるだけでねえか?
- 13 :
- 関数ができないの意味が分からない
- 14 :
- 関数は難しくないと思うよ。
関数の呼び出しがあったら、関数にワープして、処理を終えたら戻ってくるだけ。
というか、mainも関数だから、できないと実行すらできないよ。
#include <stdio.h>
void kansuu(void)
{
printf("関数\n");
}
int main(void)
{
kansuu();
return 0;
}
- 15 :
- >>1
単発質問でスレを立てないでください。
***すれ立てるまでもない質問はここで 第56刷***
http://pc5.2ch.net/test/read.cgi/tech/1088022524/
C言語なら俺俺に聞け! Part 86
http://pc5.2ch.net/test/read.cgi/tech/1089863973/
- 16 :
- >>11
そのmainは
お前が定義してるんじゃないのか?
- 17 :
- >>8
main() は関数、 printf() も scanf() も関数。
malloc() は関数だが、
free() は関数ではない。
値を返さないので関数ではない。
ただし、上記五つは全て function である。
- 18 :
- Cの関数は数学の関数とは違う。
- 19 :
- >>17
入門者にそんな言葉遊びを仕掛けても仕方がない。
- 20 :
- >>8が入門者には見えない。
- 21 :
- >>20
>>8よ。謙虚にならんといつか叩かれるぞ。
- 22 :
- >>18
意味するものは同じだ。
つまり、誤訳だ。
- 23 :
- >>17
> free() は関数ではない。
> 値を返さないので関数ではない。
メモリを解放するという出力はありますね。
- 24 :
- プログラム言語ではprintf()だろうがfree()だろうが関数と呼ぶがな。
- 25 :
- >>24
手続きもあるな。
- 26 :
- >>25
Cで手続きはでてこないな。
- 27 :
- >>26
素直に謝れ、>>24よ。
主語が「プログラム言語」の時点でお前の負けだ。
- 28 :
- >>27
主語じゃなくて副詞の一部だよ
- 29 :
- >>28
うっせぇこのコンパイラ野郎め!
- 30 :
- 外で遊べよ。
- 31 :
- >>11
>>16
これで結論でてる
- 32 :
-
- 33 :
- つまり、#includeを一つも書かないで(自分で定義するのも除く)呼び出せるのは何もないと?
- 34 :
- C99は知らんけどintを返す関数なら問題なく呼び出せるはず
いや、スレの趣旨的に関数呼んだら駄目なんだったか?
- 35 :
- >>33
#includeを書かなきゃ呼び出せない関数ってあまり無いと思う。
fopen位しか咄嗟には出てこない。
- 36 :
- 古い仕様との互換性のためにstdio.hとstdlib.hは省けるんだっけ。
さすがにマクロ(EXIT_SUCCESSとか)使うときはそーもならない
- 37 :
- ヘッダをincludeしなくても自分で宣言すればいい(プロトタイプ宣言じゃなくてもいいけど宣言自体を省くのは無理、つか未定義)
でもtypedefされた型を使ってたりマクロを使わないと呼び出せなかったりするような関数は宣言だけあっても呼び出せない
- 38 :
- 38ゲトズサー
 ̄ ̄V ̄ ̄ ̄ ̄ ̄
∧ ∧
⊂(゚Д゚⊂⌒^つ≡3
- 39 :
- そういうのをC言語を理解できたとは言わないから、不可能ってことでいいんじゃない?
- 40 :
- >>1
それはつまり
#include<stdio.h>
main()
{
int i;
printf("%d"i);
return 0;
}
こういう規模のプログラミングしかできないんだけど、
関数の引数すら上手くやり取りできない自分でございますがC言語を理解したと
他人に言い放ちたいって意味ですか?
- 41 :
- あるいは自分でも関数を使っている事に気付かず
最先端のCUIアプリケーションゲームの開発をなさっておられる方ですか?
- 42 :
- >>1
ならば、話ははやいです。できます。理解できます。
おそらく関数を必要としないマシン語レベルで理解なさられておられるのでしょう
そんなコンピュータのような思考をする貴方に理解できないはずはありますまいて
- 43 :
- アセンブラで考えるとstackとgotoが理解できないんだろ?
- 44 :
- 101110001011101 手打ち
- 45 :
- >>44
古いミニコンでブートローダー手打ちするときは
そんな感じだったが。
- 46 :
- >>42
それもC言語理解してるとは言わないだろ。
- 47 :
- 共用体やビットフィールド、関数ポインタなんかをしらないひとが
「俺C言語理解してるぜ」って言うのは、まあ許してやるが、
関数を知らないんじゃな...
- 48 :
- 俺関数全く出来ないけどCやってるよ
- 49 :
- >>48
まあお前が関数できなくてもお前が関数を書ければ問題ないかな。
- 50 :
- このスレの>>1は、多分プログラミングでいう関数と、
中学校で習うような一次関数・二次関数を勘違いしてるのではないだろうか。
プログラミングの本を読んでみたら、関数という言葉が載っていたのだが、
自分は学校の関数の授業をまだ理解していたいので、プログラミングが
習得できるかどうか不安に思いこのスレをたてたと推測
- 51 :
- >48
てめー!俺はまだだっつーのに!ヽ(`Д´)ノ
- 52 :
- http://pc8.2ch.net/test/read.cgi/cg/1028037225/54
- 53 :
- test
- 54 :
-
- 55 :
- 関数を知った時の感想を述べると、htmlのタグみたいに感じた。
- 56 :
- t
- 57 :
- >>55
どんな感想だったの?
- 58 :
- >>57
そのままの意味だけど・・・
関数をタグみたいに覚えて扱うと楽しくてしょうがない
- 59 :
- age
- 60 :
- 3BGET
- 61 :
- >>33
#include使わなくても手作業でヘッダーファイルの中身をソースファイルにコピペすればいい
まあでも、関数がわからない = main()やprintf()もわからないってことでしょ?何もできないじゃん
- 62 :
- >>18, >>50
そういうことだったのか・・・
- 63 :
- >>40
w
- 64 :
- 関数がいやならアセンブラにしとけ
- 65 :
- call >>64
- 66 :
-
__,,:::========:::,,__
...‐''゙ . ` ´ ´、 ゝ ''‐...
..‐´ ゙ `‐..
/ \
.................;;;;;;;;;;;;;;;;;;;;;;::´ ヽ.:;;;;;;;;;;;;;;;;;;;;;;.................
.......;;;;;;;;;;゙゙゙゙゙゙゙゙゙゙゙゙゙ .' ヽ ゙゙゙゙゙゙゙゙゙゙゙゙゙;;;;;;;;;;......
;;;;;;゙゙゙゙゙ / ゙: ゙゙゙゙゙;;;;;;
゙゙゙゙゙;;;;;;;;............ ;゙ ゙; .............;;;;;;;;゙゙゙゙゙
゙゙゙゙゙゙゙゙゙;;;;;;;;;;;;;;;;;.......;............................. ................................;.......;;;;;;;;;;;;;;;;;゙゙゙゙゙゙゙゙゙
゙゙゙゙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 :
- >>63
できるよ。
以上。
↓次どうぞ
- 68 :
- Lispは関数が出来なくても理解可能ですか?
- 69 :
- Haskellは(以下略
- 70 :
- Elangは(以
- 71 :
- Erlangだた
- 72 :
- なんだよ
糞スレじゃん
- 73 :
- Cプログラマの為に、ポイントをまとめたドキュメントを販売しています。
プロのプログラマでもあまりにレベルが低い人が多すぎます。
そんな人に限って、自分のレベルの低さを自覚していない、、、
本人は構わないかもしれませんが、その下についた新人プログラマは
たまったものではありません。(私が経験しました。)
今になって分かりました。
彼らもまた、理解できていなかったのです。
プログラミング言語の一番の習得の近道はきちんと理解している人にアドバイスをもらうこと。です。
私のC言語に取り組んだ7年間をすべてぶつけたつもりでテキストを作りました。
私の会社の後輩からは、どんなテキストよりもわかりやすかった!や、
今まで教えてくれていた先輩や、テキストたちが、ちゃんと理解できていないことがわかりました。
と、嬉しいコメントをたくさんもらいました。
そしてなにより、彼らの社内での評価がとても高いということが、私の誇りです。
興味がある方はどうか、下のサイトをみてみてください。
http://mori.eco.to/
- 74 :
- どうでもいいけど、qsort()の実装にmalloc()の仕様を認めるって変じゃね?
- 75 :
- このスレでぬるぽしてもおそらく誰も気づくまい。
/\ /\
/:::::::ヽ____/::::::::ヽ、
丿 ::.__ .::::::::::::: __ ::::ヽ_ ,. 、 / /
/ /。 ヽ_ヽv /: /。ヽ ::::::ヽ ,.〃´ヾ.、 / /
/ / ̄ ̄√___丶  ̄ ̄\ ::::| / |l ', / /
| .:::::::::: / / tーーー|ヽ ..::::: ::|r'´ ||--‐r、 ', ぬ る ぽ ぬ る ぽ ぬ る ぽ !!
| .:::::. ..: | |ヽ .,..ィ'´ l', '.j '. ぬ る ぽ ぬ る ぽ ぬ る ぽ!!
| ::: | |⊂ニヽ| | 'r '´ ',.r '´ !| \
| : | | |:::T::::| ! l! ....:.:.:.:.:.:ヽ、 ,l \
\: ト--^^^^^┤ ゝ、.,_ ---‐‐‐----ゝ、ノ
- 76 :
- いまどきぬるぽとかw
- 77 :
- 数学の関数とC言語の関数って同じ意味じゃん
引数は何個でもいい、戻り値は一個だけ。
同じじゃん。
void関数も漸近線のある関数なら漸近線を超えれば戻り値がないでしょ。
どこがちがうの?
- 78 :
- 副作用の有無。
数学の関数は、同じ引数を与えると値が返るだけだが、
Cの関数はそれ以外の効果を生むことがある。例えば、出力を行うprintfなど。
- 79 :
- >>77
戻り値は引数の写像ではないので数学でいう関数とは異なります。
アホ?
- 80 :
- おまえらの言いたいことの察しはつくが不正確
同じ所もあるが、むしろ「違いが分からなければ」理解不能
- 81 :
- >>78-79 正しい >>80 アホ
- 82 :
- >関数ができなくても
ワロタ
- 83 :
- 漏れの周りにも一人だけ関数が理解できないというやつがいたが、
そいつは関数の作成ができなかった。
特に、配列やポインタの受け渡しになると絶望的だった。
1って、そういう意味じゃね?
- 84 :
- Cの関数以外を理解することは可能だろうが、C言語には関数も含まれるんだから
C言語を理解したと言い張るつもりなら関数も理解しなければならない。
昔アセンブラ入門でサブルーチンを別の工場のラインにたとえてるのがあったが
ああいう本ってまだあるのかねぇ。
- 85 :
- 昔Cを使ってたが意外に関数なんていらなかった
関数と違って型チェックはないけれど
全部マクロ関数で書いてcppに展開させる
最終的にインラインアセンブラに展開される
- 86 :
- ようするに関数ってのはライブラリのバイナリをシンボルで呼んでるわけで
同じ関数は1つしかリンクされない
マクロの場合はは全部ベタに展開されてしまうから無駄が多くなる
- 87 :
- int main(){
return 0;
}
こんな定型書式はIDEが自動で書いてくれるから
とくに関数を知らなくても問題ない
関数という、プログラムのリサイクル手法を使うか
それともたとえ繰り返し部分があってもリサイクルしないで
あえて上から下まで平文で打つか
関数を使うも使わないも個人の自由
- 88 :
- そりゃ、趣味グラマなら好きにするがいいさ。
- 89 :
- 関数は邪道だよ
漢なら関数に頼らず
Cの基本リテラルだけで書け
関数に分割すると全体の構造がわかりにくくなるから
何のための構造化プログラムだかわからんしな
- 90 :
- コボラーはこれだから
- 91 :
- >関数に分割すると全体の構造がわかりにくくなるから
>何のための構造化プログラムだかわからんしな
- 92 :
- >>91
gotoとか関数を使うやつはアホ
- 93 :
- >関数に分割すると全体の構造がわかりにくくなるから
>何のための構造化プログラムだかわからんしな
- 94 :
- 見通しが悪くなるんだよ
関数にったり返ったりして可読性を妨げる
スパゲッティーは万死に値する
- 95 :
- とりあえず94には手本になるソースを上げてもわわなければ
- 96 :
- >関数に分割すると全体の構造がわかりにくくなるから
>何のための構造化プログラムだかわからんしな
- 97 :
- 関数を使うとダメなんだよ
繰り返し使うなら繰り返し構文の中で条件を指定して使うことだ
全体の中での位置を明確にして、流れを中断しないことが
質のよいプログラムを書く原則な
- 98 :
- >>4-5
そんな便利な方法があったとは知らなかった
>>11
#includeはファイルをそのまま展開するだけだから
#includeはあっても別にいいよ
- 99 :
- >>78
副作用っていうか、作用させるのがプログラムの仕事で、
戻り値が副作用だろ
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
Cで書くかアセンブラで書くか・・・
[無料でラクラクJava帳票作成] JasperReports使い集合
ミスターサタンのC#相談室
C言語で素晴らしいオセロを作らないか?