C言語講座
- 中級編(作成中)
- 上級編(作成中)
コーディングテクニック
[C/C++] 二重インクルードによる型の再定義を防止する方法(インクルードガード)
プログラムの規模が大きくなってくると、ヘッダーがヘッダーをインクルードするような場面が発生してきます。このとき、複数のヘッダーをインクルードした場合に、型の再定義が発生してビルドエラーになる場合があります。このような場合を予め想定して、イン...
[C/C++] リスト構造体(チェーン構造)の書き方と使い方
構造体の配列を使いたいけど、要素数が未確定のため何回もreallocすることになって、処理が重たい。。。という場面に遭遇したことはありませんか?このような場合は、配列では無くリスト構造にするとreallocする必要がなくなり、要素の追加、削...
[C/C++] テーブルデータ(配列)をfor文で巡回する方法
テーブルデータを巡回して、ある要素のデータを検索する場面は多々あると思います。for文で配列の要素の先頭から終端までを巡回する方法について解説します。 要素数を宣言している場合 要素数を宣言する場合は、その要素数を#defineで定義してf...
[C/C++] 関数テーブルの書き方と使い方
本記事では、C言語の「関数テーブル」に焦点を当て、その定義方法、使い方、そして実用的な活用例を解説します。また、関数テーブルを使ったイベント駆動プログラミングやエラーハンドリングについても触れます。 関数テーブルとは 関数テーブルの概要 関...
[C/C++] 再起呼び出しの書き方と使い方
再起呼び出しは、Cプログラミングにおいて効率的なコードを書くために必須の概念です。この記事では、再起呼び出しの基本と使い方を初心者向けにわかりやすく解説します。 再起呼び出しとは? 再起呼び出しとは、ある関数からその関数自身を呼び出すことで...
可変長の構造体(作成中)
ハッシュ法(作成中)
最適化テクニック(作成中)
並行処理とマルチスレッド(作成中)
プリプロセッサの効果的な使用法(作成中)
コーディングスタイル
[C/C++] switch文のインデントの付け方
switch-caseのcaseはインデントする派?しない派? switch文のインデントってどうしてますか? よく教本では↓のように、caseにインデント付けていますよね。 switch(data){ case 0: break; cas...
[C/C++] わかりやすいif文(条件式)の書き方
プログラムが複雑になってくると、データ数が増え、条件式も複雑なものが多くなってきます。複雑な条件式は可読性が落ちてしまい、プログラムの理解に時間がかかったり、バグを引き起こす要因にもなる場合もあります。そこで、わかりやすい条件式の書き方につ...
ネストが深くならないfor文、while文の書き方(作成中)
コメント