そのままだと初期値は不定なので、変数宣言時に空のブレースを代入するようにする。使っている変数についても同様です。なりました〜〜もちろん書き込むとちゃんと動きますよ。main関数の構成ちゃんとコード自体にコメントをしてくれているので、各ブロックが何をしているのか分かりやすいと思います。以下のような構成ですね。ここにコールバック関数を記述する。ディスクリプタを管理する、ポインタの集合。スタック/モジュールのハンドラと言われているが、詳細は不明。各種処理で使うらしい。ローカル変数を冒頭で宣言されると分かりづらいね。渡す(変数名が分かりづらいな)。なんだ?と思う人も多いはずです。これベタ書きされてもな...こういうふうにアドレスをベタ書きすることは危険です。このプログラムはあくまでもただのサンプルなので、こういうふうにしてるんだと思います。型の配列をメモリ上に確保しておくとかが必要な気がします。この構造体定義をしているヘッダファイルを覗いてみました。思ってたより高級な動作していますね。要求されるサイズ以上のものでよろしくなるほど。いう状態なので、そうですかと思っておきます。コメント通り、本来はそういうサイズが必要なので、コレも後に解決したいです。する際の関数を登録していますが、取り敢えずプログラムの流れ上はこの後でいいものなので、一旦無視します。よって情報を渡します。ペリフェラルの初期化を行っているようです。ちなみに渡しているディスクリプタは以下です。デバイスディスクリプタストリングディスクリプタコンフィギュレーションディスクリプタこれ以下のものも渡しているみたい?インターフェイスディスクリプタは以下でも渡します。&hCdc);またベタ書きかといいたいのですが、これも先ほどと同じなのでスルーしておきます。渡しているディスクリプタは以下。いう構造体がありますが、一連のコードを見る限りポインタ等の散らばったデータをまとめる構造体みたいです。なり、更にユーザーがその処理を関数として書けるので、コードにある通りのメンバ、および順序である必要は無いっぽいですね。いう型名を定義することが大事っぽい。等に比べると圧倒的に小さいじゃないですか。メモリ贅沢に使いすぎでは。ホストと接続するようです。エンドポイント番号を入れているのだと思いますが、ちょっと不明です。ヘッダファイルを読む限り、よくわからん記述があります。?他のプロジェクトを見てみたり、色々コードを弄ってみたところ、なんとなくですが、この値について分かってきたことがあります。機能について説明します。〜」と書いてありますが、忘れてください。関数を呼んでくれます。