C言語

C言語

C言語のきほん「リスト」

複数のデータを管理する方法の一つにリストがある。データの追加や削除が効率よく行えるデータの管理方法で、様々な場面で使われている。リストの要素はノードと呼ばれ、ノードには構造体が使用される。構造体には格納するデータと共に次の要素へのポインタが...
C言語

C言語のきほん「スタック」

本ブログでは、これまでに「配列」を扱っている。配列では、格納したデータに対して、インデックスを指定してアクセスできた。この「インデックスを指定してアクセスする」以外の方法で、データの追加や削除を行うデータ管理方法のひとつに、「スタック」があ...
C言語

C言語のきほん「2分探索」

実際のプログラムでは、たくさんのデータの中から目的のデータを見つけ出す処理が行われる。以前、本ブログでは、「線形探索」をご紹介している。今回は、「2分探索」をご紹介する。これは、範囲を半分に絞りながら目的となる値を見つける方法である。では、...
C言語

C言語のきほん「列挙型」

列挙型は、自分で定義したキーワード(識別子)を格納するための型である。この型の名前は自由に決めることができるが、enumというキーワードを最初につける必要がある。例えば、「enum Size」とする場合、enum Size {S,M,L,X...
C言語

C言語のきほん「条件付きコンパイル」

プリプロセッサへの#ifdef~#endif命令、または、#ifdef~#else~#endif命令によって、コンパイルする内容を条件分岐させることができる。#ifdef マクロ名    プログラムコード#endif上記のようにマクロ名が定...
C言語

C言語のきほん「関数形式マクロ」

先に本ブログでご紹介したマクロは、特定の文字列を別の文字列に置き換えるものであった。今回は、「関数形式マクロ」をご紹介しよう。次のように使用する。#define MAX(x,y) (x > y ? x : y)このように関数マクロを書いてお...
C言語

C言語のきほん「マクロ」

#include命令のほかに、#define命令というものがある。#define命令を使うことで、プログラムコード中の特定の文字列を、コンパイル前に別の文字列に一括置換できる。このときに置き換えを行う文字列をマクロという。今後のプログラム修...
C言語

C言語のきほん「プリプロセッサの処理」

さて、これまで見てきたように、コンパイラによってプログラムコードがコンパイルされる。ただ、正確には、コンパイルが行われる前に、プログラムコードを自動編集するプリプロセスという操作が行われる。この操作を行うプログラムをプリプロセッサと呼ぶ。#...
C言語

C言語のきほん「グローバル変数の共有」

今回は、グローバル変数を複数のファイルで共有する例をご紹介しよう。なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(1.91.1)を使用して作成し、gcc (Ubuntu 9.4....
C言語

C言語のきほん「複数のファイルに分ける」

これまで、本ブログでご紹介してきたプログラムコードは、比較的短いものであった。しかし、大きなプログラムになると、全体の見通しが悪くなるため、複数のファイルに分けて管理するとメリットがある。この場合、関数の定義を一つのまとまりにして、関数が処...