2つの方法がある
(1) 環境変数
環境変数 HOME を取得する
getenv("HOME");
(2) パスワードファイル
パスワードファイル( /etc/passwd ) に記載されている ホームディレクトリを取得する
getpwuid(getuid())->pw_dir );
補足
macOS ではパスワードファイル( /etc/passwd ) を使っていないが、 API は機能する
サンプルコードは githubに公開した
https://github.com/ohwada/MAC_cpp_Samples/tree/master/system/c_src