【256times】1/6(月) - 1/10(金) 休講のお知らせ
【週刊ドットインストール】 Google Fonts入門をリリース、ミニクイズが10万回答突破、年末年始休暇のお知らせ
「Git/GitHub入門 リモート編」のミニクイズをリリースしました
「Git/GitHub入門 ブランチ編」のミニクイズをリリースしました
「Git/GitHub入門 基本操作編」のミニクイズをリリースしました
『Google Fonts入門』をリニューアルしてリリースしました
あなただけの学習ロードマップを作成します 【随時受付中】
今回のレッスンではローカル開発環境を使っています。ローカル開発環境の構築方法は以下をご覧ください。
・ローカル開発環境の構築 [Windows編] (全14回) http://dotinstall.com/lessons/basic_localdev_win_v2 ・ローカル開発環境の構築 [macOS編] (全14回) http://dotinstall.com/lessons/basic_localdev_mac_v2
現在ローカル開発環境のレッスンどおりに環境を構築することができません(レッスン内で利用しているCentOS6が終了したため)。実行環境の代替手段についてはローカル開発環境を構築できないのですが……をご覧ください。
gcc hello.c
gcc -o hello hello.c
man gcc
void f(void) { static int a; a = 0; a++; printf("a:%d\n", a); }
/* int型が占有するメモリ空間の数が表示されます */ printf("%d\n", sizeof(int));
#01 C言語とはなにか?
補足情報 レッスンにおける環境について
今回のレッスンではローカル開発環境を使っています。ローカル開発環境の構築方法は以下をご覧ください。
・ローカル開発環境の構築 [Windows編] (全14回)
http://dotinstall.com/lessons/basic_localdev_win_v2
・ローカル開発環境の構築 [macOS編] (全14回)
http://dotinstall.com/lessons/basic_localdev_mac_v2
補足情報 C言語の実行環境について
現在ローカル開発環境のレッスンどおりに環境を構築することができません(レッスン内で利用しているCentOS6が終了したため)。実行環境の代替手段についてはローカル開発環境を構築できないのですが……をご覧ください。
#02 はじめてのCプログラム
補足情報 gccの使い方について
hello.cから実行ファイル(デフォルトだとa.out)を作ります。
実行ファイルの名前を指定したい場合は-oオプションで指定してあげます。
その他、使えるオプションについてはマニュアルを参照してみてください。
補足情報 ファイル名だけでは実行できない
「./」は「現在のディレクトリ」という意味で、実行ファイルを実行するには、このように実行ファイルまでのパスを指定する必要があります。
ただし $PATH という環境変数に設定されているディレクトリに実行ファイルが置かれている場合は、ファイル名だけで実行ができます。
補足情報 コンパイラ言語とインタプリタ言語について
その違いはソースコードを書いた後に実行ファイルをいったん作るかどうか、にあります。C言語やJavaはコンパイラ言語で、PHPやRubyは実行ファイルを作らずにいきなり実行できるのでインタプリタ言語です。
以前はコンパイラ言語が高速、インタプリタ言語は逐次実行型だったので低速、という違いがありました。ただ、現在では、コンピュータが高性能化してきたので、ほぼ違いがなくなってきました。
こうした歴史的経緯を踏まえて、豆知識的にこれらの用語を知っておくのも良いでしょう。
#03 変数とはなにか?
補足情報 ファイルを修正したらコンパイルし直す
ファイルを修正したらコンパイルし直す、ということを忘れないようにしましょう。
#13 変数の有効期限について
補足情報 static宣言された変数
無視されるのは宣言部分だけなので、以下のように書くと当然毎回変数 a には 0 がセットされ、処理が継続されます。
#16 ポインタとメモリ空間 (1)
補足情報 専有するメモリ空間について調べる方法
#17 ポインタとメモリ空間 (2)
補足情報 ポインタ宣言の書き方について
どれでも動作しますが、「int *pa」が一般的かと思います。これは「間接演算子を使ったpaの値(*pa)がint型なので」と覚えると良いかもしれません(個人的にはそれですっきりしました)。
このあたりの議論は以下のサイトも参考にしてみてください。
http://togetter.com/li/185167
#18 ポインタとメモリ空間 (3)
補足情報 ポインタが確保するメモリサイズ
#19 ポインタでメモリを節約する (1)
補足情報 long型が確保するメモリサイズ