C言語入門(27) 実際にプログラムを読んで理解を深めよう ls編(1)

Posted: 2013年02月14日

前回でひと通りC言語について書いてきたと思っています。
書き残しに気がついたら随時、書いていきます・・・

これからは、C言語で記述されたプログラムを見て解説していきます。
初回は、lsコマンドの実装を見ていきます。
lsコマンドとは、Windowsではdirに近いコマンドで
フォルダのファイル一覧を表示するコマンドです。
lsのソースを読むことを推奨または、読んでいないことは恥ずべきこととも言われています。

最新のlsコマンドのソースは
http://www.freebsd.org/cgi/cvsweb.cgi/src/bin/ls/
です。

今回解説するソース(2013/02/08現在最新)は、
/wp-content/uploads/2013/09/ls.zip
です。



カテゴリー: プログラム, 入門 | タグ: , , | コメント無し »

C言語入門(26) 変数のスコープ(使用可能な範囲)はどこまで?

Posted: 2013年02月07日

今回は変数の存在範囲(スコープ)について説明をします。
変数は、指定された範囲でのみ使用ができその範囲外ではその変数を使用することはできません

具体的には、関数内で宣言されている変数は、他の関数から使用することはできません。
※関数から呼び出された関数内では元の関数の変数は使用することは不可能ではありません。



カテゴリー: プログラム, 入門 | タグ: , | コメント無し »

C言語入門(25) 知らないで使用していた#include、知らなくても使える #include

Posted: 2013年01月31日

今回はおなじみ#includeについて記述していきます。
#include文では、.h(ヘッダー)定義を参照することができます。
参照することで.hに記述されている関数を呼び出すことが可能になります。

タイトル通りですが
知らなくても問題はなく、知っていると評価される豆知識的なことを書いていきます。



カテゴリー: プログラム, 入門 | タグ: , , | コメント無し »

C言語入門(24)コンパイラ依存にはなるけど、知っているといないとで違いがでる#pragma

Posted: 2013年01月24日

#pragma 文は、コンパイラ固有の指定を行う手段として ISO/JIS/ANSI 規格で定められています。
#pragma 文の構文は、コンパイラによって異なります。
定義されていない構文を使用してもエラーになることはなく無視されるとは思いますが
そこは、コンパイラ次第だとおもいます。

今回は、Visual Studioで行った場合について書いていきます。



カテゴリー: プログラム, 入門 | タグ: , , | コメント無し »

C言語入門(23)デバッグ用コードをリリース版では無効化可能な#ifdef

Posted: 2013年01月17日

#ifdefを使用するとコンパイル時にコンパイル対象化指定することが可能です。
それは、タイトルにも書いていますが
デバッグ用に書いたコードは実際に動作してほしくないため、
#ifdefを用いてその処理をコンパイルコードから除外します。
具体的にはどのように記述するか



カテゴリー: プログラム, 入門 | タグ: , | コメント無し »

C言語入門(22) intとかfloatとか実情のデータ型に合わない!!

Posted: 2013年01月10日

実際にbyteデータを扱いたいのに適切なデータ型が見つからない
前の話題にでも出ましたが構造体や共用帯を手軽に記述したい
などの場合typedefを用いることで実現ができます。
typedefでは名前の通り型を定義することができます。

typedef 意味 名前;

で定義します。



カテゴリー: プログラム, 入門 | タグ: , | コメント無し »

C言語入門(21)定数constとdefineの違い

Posted: 2013年01月03日

定数宣言は、constまたはdefineを用いることで
可能です。

 const int cnMax = 50;
 #define CN_MAX (50)

宣言方法が異なりますがどちらも定数を宣言可能です。

では、なにが違うのか!!



カテゴリー: プログラム, 入門 | タグ: , | コメント無し »

C言語入門(20)存在価値が分かりづらい共用体を活用したい

Posted: 2012年12月27日

前回は、構造体について書きましたが
今回は、共用体(union)について書いていきます。

実際unionっていつ役立つのか、どのように使用すれば良いのか
さっぱりわからない時がありました。
参考書を読んでも使い方だけと・・・

実際にもそこまで使い道はないけれど
痒いところに手が届く手段として理解してもらえればと



カテゴリー: プログラム, 入門 | タグ: , | コメント無し »

C言語入門(19) ありがたい構造体!!理解しやすくするために大活躍

Posted: 2012年12月20日

構造体(struct)は、今まで紹介していませんので
何なのかはさっぱりだと思います。

構造体は、変数をグルーピングすることができます。
グルーピングすることで何が良くなるのか



カテゴリー: プログラム, 入門 | タグ: , | コメント無し »

C言語入門(18) 様々な所で使われているポインターの意味 (2)

Posted: 2012年12月13日

前回も様々な種類のポインターを説明来ましたが
今回も同じ内容です。



カテゴリー: プログラム, 入門 | タグ: , , , | コメント無し »
Page 4 of 6123456