- 1 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:27:28.990 ID:et3r2gS80
- はい
- 2 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:28:01.361 ID:CIg4yuyQp
- 早めにセンスないって気付けてよかったじゃん
- 3 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:28:10.832 ID:4bpJAWlc0
- すたぢおエッチ
- 4 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:28:35.539 ID:TPvTEnS5M
- それ最近までスタジオ.hだと思ってた
- 5 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:28:52.895 ID:mESe+1L10
- おまじないです←最高に馬鹿
- 10 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:30:33.446 ID:P+hKHzT0a
- >>5
こいつが初学者の邪魔をしてる
おまじないとか書いてる本は信用しちゃならん - 11 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:31:26.096 ID:6zIxRFi70
- >>10
別におまじないでもよくね?
機械語への変換も魔法みたいなもんじゃん - 17 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:34:39.988 ID:hTmbg12R0
- >>10
最後までおまじないで済ませるのはあかんけどあとで説明するならおまじないでもいいよ
どうせ先に関数とプロトタイプ宣言について解説しないとあかんし
printfみたいな可変長引数でHello Worldしてるほうが混乱を招く - 18 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:35:19.928 ID:ddEPX7ND0
- >>10
苦しんで覚えるCは神だね↓サイトより引用
前項で、printf関数を使ったプログラムは完成したはずなのですが、
実は、このプログラムは準備不足なので、動かしても画面に文字は表示されません。
お節介を焼くコンパイラでは動いてしまいますが・・・実は、printf関数は、C言語自体の機能ではありません。
言い換えるならば、C言語のコンパイラは、printfという関数のことを全く知りません。
従って、ただprintf関数を記述しただけでは、動かないのです。
動作させるには、コンパイラにprintf関数の説明書を読ませなければなりません。C言語には、説明書を渡すための特別な命令が用意されています。
それは、#include(インクルード)疑似命令です。
#include疑似命令は、次のようにして使うことが出来ます。
疑似命令疑似命令とは、プログラムコードではない命令のことです。#includeはprintf関数などの準備をする命令なので、 この命令は機械語に翻訳されず、その前段階で処理されます。#include <説明書のファイル名> printf関数の説明書は、stdio.hと言うファイルです。
つまり、次のようなプログラムを追加すれば、printf関数を使えるようになります。
ところで、この命令はどこに書けば良いのでしょうか?
プログラムの説明書を渡すのですから、プログラムが実行される前である必要があります。
プログラムが実行されてしまった後では、説明書を渡しても手遅れなのです。
このことから考えて、1番先頭(main関数よりも先)に書くのが良さそうです。
つまり、printf関数で画面に文字列を表示するプログラムは、次のようになります。
なお、#includeは疑似命令なので、関数の外側に書くことが出来ます。 - 24 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:41:09.557 ID:ZJ3HqSpgp
- >>18
それ、初学者にとってはレベル高すぎて不適格でしょ - 26 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:42:56.770 ID:TXA21EFPa
- >>24
世の中には理解力の高い初心者というのもいてだな - 29 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:44:14.088 ID:4bpJAWlc0
- >>26
バーカ - 32 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:45:28.726 ID:TPvTEnS5M
- >>24
printfとだけいきなり言われてもwindowsにはわからんのです
でもwindowsにstdio.hという名前の説明書を渡すとwindowsはprintfを理解し、実行してくれます
というわけでwindowsに説明書を渡しましょう
#include <stdio.h>ってことだろ
無駄な話多いけどかなり有能だぞ - 35 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:46:04.747 ID:akQX08gD0
- >>32
windowsなのか? - 37 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:47:01.932 ID:ddEPX7ND0
- >>24
苦Cは初学者に何故を手取り足取り教える入門サイトだぞ
ポインタとかも割とハードレベルから説明してる - 44 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:58:22.086 ID:Ueh92g4md
- >>18
>printf関数は、C言語自体の機能ではありません。
ANSI C標準規格にないって意味なの?ちゃんと?>ただprintf関数を記述しただけでは、動かないのです。
パソコンなら普通は動きます>コンパイラにprintf関数の説明書
コンパイラにprintf関数の説明書とは具体的に何?>#includeはprintf関数などの準備をする命令なので
違います>プログラムが実行されてしまった後では、説明書を渡しても手遅れなのです。
プロトタイプはコンパイルのためにあるのであって、
プログラムのためと言っているこの説明は誤りドヤ顔でほぼ全て間違ってる神文章
- 45 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:00:24.770 ID:LVyAIct00
- >>44
難癖でワロタ - 46 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:00:56.249 ID:TGBI70Xy0
- >>44
アスペかよ - 48 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:02:22.785 ID:AHHtsvLDM
- >>44
さすがに逆張りがすぎる
日本語で説明し始めたらちょっと待ってそれ何語で話してるわけ?とかツッコミ入れそう - 52 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:05:02.027 ID:o5aifg52p
- >>10
最初からStanderdIOライブラリを読み込む構文ですとか言ったらみんな投げちゃうからじゃない? - 6 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:29:07.084 ID:kTyrSKdF0
- ひょうずんにゅーしゅつりょくな
- 7 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:29:35.806 ID:hTmbg12R0
- gccならincludeしなくてもprintf使えるしな
- 8 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:29:40.894 ID:I79uUSGm0
- 全く同じスレタイを前にも見た
これ流行ってんの? - 9 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:30:31.624 ID:6zIxRFi70
- >>8
みんな思うからな - 12 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:31:44.893 ID:ZJ3HqSpgp
- 意味はあるけどとりあえず書いときゃ問題ないし、
深く理解したいなら中身を見てみて、ってだけでしょ - 13 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:32:12.561 ID:JwFoXARo0
- 後半でなんか習った気がするけどガチでおまじないしか覚えてない
- 14 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:32:48.281 ID:3cHDOoMC0
- stdlib.hの人気のなさ
- 22 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:39:18.895 ID:TPvTEnS5M
- >>14
絶対値くらいしか…… - 34 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:45:56.403 ID:3cHDOoMC0
- >>22
assert.h
ctype.h
stdarg.h
stddef.h
stdlib.h
stdio.h
string.h
time.h
この辺は必須じゃないの? - 15 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:33:23.122 ID:HDp6p+D20
- スタンダードじゃない入出力欲しいです
アナルセックス的な - 16 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:33:41.564 ID:GUQlE/Ax0
- printfやscanfなどを使えるようにするためのもの
- 19 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:36:41.590 ID:akQX08gD0
- 関数やったらわかるだろ
- 20 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:37:55.321 ID:6LbvJCb5r
- いきなりシステムコールとか言われても挫折する自信あるしおまじないでいいだろ
- 21 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:38:29.255 ID:/ioC+JQoM
- おまじないって書いてある本は買わなくていいぞ
- 23 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:39:49.076 ID:6LbvJCb5r
- gccでコンパイルしたら実行ファイルが出来るのも呪文じゃん…
- 25 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:42:03.540 ID:HL/2FShbM
- 簡単なことなのに難しい言い回しする人いるよね!
- 28 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:43:57.091 ID:hTmbg12R0
- >>25
厳密に説明しないと袋叩きにされる文化のジャンルもあるからしゃーない - 27 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:43:17.062 ID:fyOVAHzU0
- 最初にやるようなコード関数宣言しないし…
おまじないでもいいよ最初は - 30 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:44:20.989 ID:P+hKHzT0a
- プログラミングの学習は「実感できるか」がすべて
“おまじない”は実感の機会を減らすゴミ
簡単に「○○を使うために読み込んでます」くらいでいいから
どんな感じの働きをしているのかは把握させておくべき
頭に不明点があるとそれがしこりになって学習を妨げる - 31 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:45:06.406 ID:aYi5wCfr0
- >>30
原理主義者め!
お前が教科書を書け! - 33 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:45:45.586 ID:TPvTEnS5M
- 無駄というか初学者にはよくわからん話か
- 36 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:46:59.906 ID:3cHDOoMC0
- windows.hもあるんだぞ
- 38 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:47:52.256 ID:3cHDOoMC0
- デストラクタをvirtual宣言しない無能
- 39 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:49:26.986 ID:ddEPX7ND0
- 変数の説明をこれぐらいしてくれればポインタも理解しやすい
↓サイトより引用
前項で考えたことを実現する機能がC言語には存在します。それが、変数です。
変数と聞くと、数学を思い出してイヤになる人も多いかもしれませんが、
プログラミングの変数と、数学の変数とは、全くの別物です。変数とは、数値を保存しておくためのメモリ領域に名前をつけることです。
これ、ほとんどの入門書では、数値を入れておく箱と説明しますが、
こんなのは、誰もコンピュータに触ったことがなかった時代の説明方法でしょう。
コンピュータをそれなりに使っている人には、メモリと言った方がすっきりします。コンピュータのメモリとは、横1列に膨大に並べられたロッカーのような構造です。
ロッカーの端っこから、1つ1つに番号がつけられています。
そして、コンピュータで扱われる数値は、そのロッカーのどこかに入っています。普通ならば、そのロッカーの番号を元に、数値を入れたり出したりするのですが、
毎回毎回、長ったらしい番号をつかっていては面倒なことこの上ありません。
皆さんも、7桁の社員番号でロッカーを区別したくはないだろうと思います。そこで、それぞれのロッカーに、名前をつけておくことにします。
こうすれば、名前を見ることで、それが何のためのロッカーなのかすぐにわかり、
また、扱いもとても簡単になると言うわけなのです - 40 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:49:49.975 ID:aYi5wCfr0
- 入門書の次の本「みなさん!よく頑張ってC言語の入門書を読み終えましたね!とってもえらいです!
次はC言語でWindowsで動くアプリを作ってみましょう!それではまずint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstanceビーガービー」 - 41 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:50:29.590 ID:fyOVAHzU0
- 苦Cより明解派
- 42 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:52:17.165 ID:hTmbg12R0
- 苦Cもscanf使う時にアドレス指定子の説明は後回しになってるからそんなんでいいと思うわ
構成がとっちらかるしね
おまじないって言葉自体が嫌なら表現変えればいいね - 43 名前:一般よりも上級の名無しさん 投稿日時:2020/02/14(金) 23:53:11.035 ID:P+hKHzT0a
- 昔読んだ「配列が何故0から始まる?」みたいな質問から始まって
「分からんお前もこの本を読み終わる頃には理解できるぞ」って書いてる本が分かりやすかったが
古い本だから名前忘れた - 47 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:02:02.757 ID:JII05J0C0
- C言語は有望な言語だが人様にCを教えようとするカスはC11はおろかC99すら一ミリも知らなそうだから嫌い
- 49 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:02:24.635 ID:1CpEuyHg0
- using namespace std;はあまり槍玉にあからないよな
- 50 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:02:56.538 ID:JII05J0C0
- >>49
それはC言語ではない - 51 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:04:26.605 ID:0O2oS3mC0
- >>49
これ絶対使いたくないんだけど
名前衝突したらどうすんの - 54 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:07:09.032 ID:1CpEuyHg0
- >>51
ビジネスロジッククラス()は名前ぶつけない自信があるんじゃないの、しらんけど - 53 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:07:04.567 ID:COKM+6/7a
- とりあえず初心者はC#→C→C++→C#の順で
3年くらいかけて勉強すれば良いよ - 55 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:08:34.047 ID:JII05J0C0
- Linuxの入門書にはファイルディスクリプタについて書いてあるのにプログラミングの本がIOの説明を忌避するのはよく分からんな
- 56 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:08:42.923 ID:3LTVbAKD0
- BASICで挫折した俺よりマシ
- 57 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:09:53.552 ID:COKM+6/7a
- >>56
BASIC系の言語は「初心者でも理解しやすい!」を売りにした
クソ読みにくく書きにくい言語だから - 58 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:12:07.417 ID:54VmFYlW0
- ポインタわかるかどうからへんでセンスあるか分かる
- 59 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:12:15.890 ID:BsG4aBkY0
- おまじないはマジ無い
- 60 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:14:09.147 ID:PbhcIKV90
- BASICよりはHSPを奨めるわ
- 61 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:14:18.022 ID:1CpEuyHg0
- 関数ポインタの配列は使いどころが考えつかなかった
コールバックでつかっていいのあれ? - 63 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:18:16.661 ID:COKM+6/7a
- >>61
ある処理群を決まった順番でいくつかの場所で実行したいけど
もしかしたら順番が変わるかもしれないって時に使ったわ - 66 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:33:47.713 ID:1CpEuyHg0
- >>63
苦労してたんだなーおつかれさま - 62 名前:一般よりも上級の名無しさん 投稿日時:2020/02/15(土) 00:17:33.841 ID:JII05J0C0
- ポインタがわかるというのがよくわからない
ポインタがわかる人はスマートポインタやRAIIまで全く躓かずに理解できるのだろうか(C++に話がずれる)
コメント一覧