C言語

Atom のC言語用 Snippets(個人用)

コア・パッケージ「language-c」の Snippets は、次のサイトから取得している。 github.com自分用に細かい修正を加えたかったので、「File」→「Snippets」からファイル「snippets.cson」を開いて、そこに下記の内容を追加。 (下記をコピーする場合、カーソ…

「Atom」でのC言語学習環境を整える

前置き 環境 インストール後の手順 1.「Welcome Guide」をオフにする 2.パッケージのインストール 3.各種設定 (1)「docblockr」の設定 (2)「file-header」の設定 (3-1)「gpp-compiler」の設定(Shift-JISでC言語学習をする場合)※推奨 (…

Visual Studio やめました

久々に Visual Studio でプログラム書こうとしたら、cのソースファイル全く開けなくなってた。 まぁ、兼ねてより Visual Studio には不満があったし、離れるにはちょうどいいのかな、と前向きに考えることにした。 1つソースファイル作るごとに、自動で関連…

3次元もできるようになった

コンパイル時に初期条件を決めて数値計算させ、gnuplotにグラフを書かせるプログラムができた!! コンパイルごとにランダムに初期関数を与える仕様にもできたので、大満足。 しかもコンパイル時間3秒!!3秒で上のような図が量産できるのが、とにかく嬉し…

gifアニメが作れるようになりました

ここ最近、C言語を使ってgnuplotを扱う手法を勉強してきたが、ついにgifアニメを作れるようになった!!それがこれ↓ これを作るために組んだプログラムが下のやつ(なるべく使い勝手が良いように、頑張って綺麗にした)↓ 割と簡潔に作れたと思ってるけど、/…

数値計算の結果を実行時にgnuplotに渡す

数値計算の結果をデータファイルにして、gnuplotでグラフにする。 このときに、地味に面倒なのが、データファイルのいるディレクトリをコピーして、それをgnuplotに渡す作業。 このイライラを解消するために悪戦苦闘(と言っても、popen使えば良いだけなので…

ポインタの分からないところ 追記

友人より、「ポインタの宣言 T *ptr; があるときに、次の2式 ptr = ptr + 1; ptr = (T *)( (int)ptr + sizeof(T) ); が同じになるよ」とアドバイスをもらったので、とりあえず確認するためのファイルを作ってみた。 それがこんな感じ。 もともとほしい結果…

ポインタのわからないところ

配列 a[5] と、その配列の先頭 a[0] へのポインタ ptr があるとする。 このときに、*ptr は a[0] を指し、インクリメントをすると a[1] を指すのだが、これは何をインクリメントしているのだろうか。 つまり、「*ptr が a[0] を指し、*(ptr + 1) が a[1] を…

コマンドライン引数(その2、Visual Studio からコマンドラインへ)

「新・明解C言語 実践編(柴田望洋著)」を Visual Studio で勉強していると、コマンドラインのところで、いちいち戸惑っていた。 これは中級編を勉強していた時もそうだ。 前回は、 1.エクスプローラーを開く( [Windows キー] + [E] ) 2.実行したい…

コマンドライン引数(その1)

「新・明解C言語 中級編(柴田望洋著)、6-4 コマンドライン引数」だけど、実行は全部 Visual Studio に投げてたから、本と違う結果が出続けてた。 「まぁ処理系の違いだろ」という訳の分からない思い込みのまま、最後まで進めると、 1.calend → 今月のカ…