【読書】C言語入門書の次に読む本

C言語入門書の次に読む本」を読んだので勉強になったことなどのメモ。

バグを出さないために

1.1つのローカル変数を複数の目的に使用しない

めんどくさくても、新しく変数を宣言して使用することで、デバック時、拡張時など結果的に時間短縮につながる。

2.関数の引数を複数の目的に使用しない

3.malloc()とfree()はセットでできるだけ近くに書く

malloc()で動的に確保されたメモリ領域はアプリケーションの終了とともにOSにより解放されるが、メモリリークを避けるためにできる限り使用しなくなった時点でfree() を使いメモリ領域を開放する。メモリ開放箇所は他人から見た場合わかりにくいものなので必要に応じてコメントを記述する。二重開放をすると意図しないメモリ領域が開放されてしまうので注意する。

4.構造体は作成すると同時に初期化する

初期化を行って返す関数にまとめる。同時に消去用の関数も作成する。nameset()は環境依存であるが、簡素に書くことができる。

5.関連のあるコードは近くに置く

追加忘れなどを防ぐことができる。

6.キャストは少なく/多く

コンパイラの持つ型チェック機能を無効にしてしまうので。必要最低限に。必要であれば明示的に書くべき。

(例)徐算を行うとき。

a+=1.0/a[i]

b+=(double)(i+1)/a[i]

7.開放したらNullクリア

関数の先頭で引数のNullチェック。

8.有用なコメントを記述する

アルゴリズムとデータ構造を明確にし、処理の概要と目的をある程度まとまった単位で書いておく。

(例)「…の時は…のように動作する」、「本当は…したいのに…理由で…している」

デバックの方法

1.コンパイル時の注意点

gcc xxx.c -0-wallでコンパイルする。

warningはあってもコンパイルは徹がバグに直結するので基本的にゼロになるまで潰していく。

2.分割コンパイルについて

 

Webフォント「Font Awesome」を使ってみた

Font Awesomeとは

スクリーンショット 2015-01-15 22.35.38

通常Webブラウザは端末にインストールされているフォントを呼び出して文字を表示します。ですが、端末にインストールされていないフォントが指定されていた場合、意図されていた通りにページを表示することができません。そこで登場したのがWebサーバー上にフォントファイルを置き、Webデザイナーの意図するフォントを表示できるようにしたWebフォントと呼ばれる技術です。Webフォントで表示できるのは文字だけではなく、アイコンをフォントとして使用することも可能です。Webアイコンフォントはフォントとして使用できるので大きさや色の変更が簡単にできます。代表的なWebアイコンフォントにFont Awesomeがあり、今回試しに使ってみました。

使い方

Font Awesomeの使い方には、必要なファイルをダウンロードして使用する方法とCDN(Contents Delivery Network)を利用する方法があります。

今回はCDNを利用して使ってみます。headタグの中に以下の記述をすればOKです。

<link href="http:</span>//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css>

続けてbody要素の中身です。HTML5のマークを表示してみます。

スタイルシートでプロパティ設定を行えば、大きさ、色の変更ができます。

アイコンの種類はFont Awesomeから参照できます。

すでにたくさんのアイコンが用意されていますが、これからまだ増えていきそうです。

大きさ、色の変更ができました。

他の要素と組み合わせたり、アニメーションをつけたりすれば様々な場面で使用することができそうです。