(3)OSとメモリについて
現在のWindowsパソコン上で走るアプリケーションソフトから直接ハードウェアにアクセスすることはできません。
これは一緒にたくさんのアプリケーションソフトが走る現在のWindows(OS)の状況を考えれば当然と言えます。
複数のアプリから同時に1つのデバイスにアクセスしてしまうと問題が発生するのは容易にご想像頂けると思います。
この問題を解決するためにWindows(OS)はいろいろな仕掛けを用意しています。
C言語を学ぶ上でまず必要な知識としてメモリの確保と解放があります。
メモリもハードウェアであり、好き勝手に使ってしまうと問題が発生します。
いろいろなアプリで仲良くメモリを使えるようにWindows(OS)は要求されたときに要求されただけメモリを確保してアプリに受け渡します。
また不要になったら(アプリからの要求により)受け渡したメモリを解放し、他のアプリから要求があったらそれを渡します。
...というように、メモリを使うにしてもちょっとした手続きが必要になります。
メモリの確保には標準関数ではmalloc関数、解放にはfree関数を使用します。
WindowsのAPIを使用するときにはVirtualAlloc APIやGlobalAlloc API等が使えます。
まぁこれらのAPIを使うようになったときはもうきっとあなたはC言語を習得しているでしょう。