c言語 関数ポインタ

 C言語では、関数ポインタは関数のアドレスを格納する変数です。これにより、プログラムは関数を間接的に呼び出すことができます。関数ポインターは、コールバック関数の実装、動的ディスパッチの実装、ポリモーフィズムのメカニズムの …

c言語 配列と線形リスト

1.配列とは 配列は、同じデータ型の要素を番号(添字:インデックス)順に並べたものを表します。 添字は、C言語を含む多くの言語は0スタートとなります。 (例)要素数100のときの1次元配列a、a[0]・・・a[99] 配 …

c言語 スレッド間の排他制御

1.概要 複数のスレッドで共有リソースにアクセスするとき、同時に1つのスレッドだけが共有リソースにアクセスできるようにするために、ミューテックス (英: mutex)が使用されます。 2.ミューテックスを使った排他制御  …

c言語 コールバック関数

1.概要 コールバック関数 (関数ポインターとも呼ばれます) は、別の関数(ハンドラ)に引数として渡される関数です。 2.コールバック関数を使用する利点(1)柔軟性 別の関数をコールバックとして渡すことにより、実行時に関 …

マルチプロセスとマルチスレッド(Linux)

目次 1.マルチプロセス 2.マルチスレッド 1.マルチプロセス(1)概要 プロセスはOSによってCPUに割り当てられたプログラムの実行単位で、プロセスには連続した仮想メモリ空間が用意されます。マルチプロセスは複数のプロ …

ソケット通信(Linux)

目次 1.ソケット通信とは 2.ソケットを用いたサーバ/クライアント間通信 3.サンプルプログラム 3.1 コネクション型 3.2 コネクションレス型 1.ソケット通信とは ソケットAPIを用いた異なるホスト間の通信のア …