Open3
C言語

size_t型について
・sizeof演算子や、strlen関数など、byte数や長さを表現するところで使われる型
・size_t
はオブジェクトのサイズを表すために使われる。unsingnedな整数値
・「長さ」といった曖昧で環境依存しそうなものを、何も考えずintで済ませてしまうことを避けるため、このような型が作られた。
ssize_tについて
・ssize_t
はsize_t
にエラーを表す負の値が加わっている。signedな整数値
・サイズをバイト数で返すことができることを意味するときは常にsize_tを使い、バイト数で表されるサイズあるいは(負の)エラー値を返すときは常にssize_tを使うべきである。

0 / \0 / NULL / ""の違い
・0は整数の0 (int型)
・NULLはどこも参照していないことを表すポインタ。値はアドレスの0(void* 型)
・\0はASCIIコード値0を表す (char型)
基本的には混同して使用しても問題ない場合が多い
しかし、**空文字列は意味が大きく異なる。**空文字列は空文字を要素として持つ要素数1の配列。そのため,単独の空文字列の値は配列の先頭アドレスとなる。空文字列の先頭要素[0]は空文字('\0')であるため値は0である。

printf
va_start