私はCに頭を悩ませようとしています。K&Rを読んで、メモリのブロックを動的に取得する必要がある状況を示している場所を見つけようと前後にフリックしています。
たとえば、intポインタが必要です。
int *pointer;
しかし、K&Rは私がやりたいと思うかもしれないと述べています:
int *pointer;
pointer = (int*)malloc(sizeof(int));
基本的に、私はここで何をしましたか?最初のケースでは、まだ何も指していないポインタを作成したので、コンピュータのメモリが不足していると思います。int値を指すようにすると、問題が発生します。2番目のケースでは、ポインター用のスペースが予約されています。したがって、プログラムに多くのメモリの問題があることを心配する必要はありません。これは正しいです?これが正しければ、作成するすべてのポインターにmalloc(またはcalloc)を使用するべきではありませんか?私のプログラムの問題が少ないことを確認するためだけですか?