こんにちはioriです。前回に引続きC言語やっていきます。
実は前回のエントリはVSCodeをインストールして基礎的なプログラム(文字列の表示や単純な四則演算など)を動かしてみたところまでやってから、「なんか記録つけたらいいかも」とぽっと出の思いつきで書いたので今回のエントリも実は前回以前にやったことになります。(だからなんだ)
またこのシリーズはMMGamesさんの「苦しんで覚えるC言語」通称”苦C”を参考書にして進めていきます。
第0回でも書いたように僕はプログラミングに関しては多少の知識はある状態からのスタートです。なので苦Cのすべてを網羅するわけではなく記事には目を通しつつ必要なところで自分の手でエディタに打ち込んで実行していきます。もし他の参考書に手を出したらまた紹介しようかと思います。
また前置きが長くなってしまう前に始めます。なおもう長いという苦情は受け付けております。
初C言語・何もしないプログラム
とりあえず書いて動かす
まずは苦Cに載っている最小のプログラムを書いて動かしてみます。
int main(void) {
return 0;
}
これで動くらしい。
動かすには
gcc -o (コンパイル後のファイル名) (コンパイルするファイル名)
でコンパイルの後、
./(コンパイル後のファイル名)
で実行。
今回の場合僕はファイル名を do-nothing.c としたのでコンパイルコマンドはこう。↓
gcc -o do-nothing do-nothing.c
実行はこう。↓
./do-nothing
コンパイルが正常に完了されたら実行するコマンドはこう。↓
gcc -o do-nothing do-nothing.c && ./do-nothing
もちろんこれを実行しても結果は虚無です。何もしないプログラムを動かしたのですから。初実行は正直あっけなかった。
何が起きたのか
何も起こっていないように見えますが、プログラムは実行できたわけです。ではどうなったのかというと
- C言語のソースコードはいくつもの関数をまとめて作られている
- そのうちmain関数は必ず最初に実行される
- そのmain関数の中に何もない
ので何も起きなかったということ。 …何もない?
いやいやなんか書いてあるやん
とおもったので調べてみた。
ここに書いてある return 0 というのは、ざっくり書くとプログラムが正常に終了したことを示すための返り値を返すために必要な記述のようです。省略してもあまり問題ないらしいけど書いたほうがいいらしい。ちなみにreturnの後ろの数を0以外にするといわゆるエラーコードということになるらしい。今後出てくるかな。
はろーわーるど
いよいよHello,world!です。
ソースコードはこちら↓
#include <stdio.h>
int main(void) {
printf("Hello,world!");
return 0;
}
はいきました。正常に動けば親の顔より見たあの文字列が出ます。 新しいものが2つ出てきました。
#include <stdio.h>
これはstdio.hというヘッダファイルを読み込む命令。ヘッダファイルはインクルードファイルのことで、このファイル内に今回使用したprintf関数を始めいろいろな命令や定数が定義されているのでprintfしたければ読み込むってことらしい。
printf("Hello,world!")
これは言わずもがな文字列を標準出力に出力をするための命令。あんまり言うこともないような気がする。
まとめ
Hello,world出来ました。やっぱり新しいことを始めて初めて目に見える成果(?)があると嬉しい。まだまだ文章が下手くそだなと思うけど綺麗にまとめていきたい。
<前回 (第0回)
次回 (第2回)>