我试图了解 C。通读 K&R,我来回浏览,试图找到它说明我应该动态获取内存块的情况。
例如,我想要一个 int 指针。
int *pointer;
但随后 K&R 表示我可能想做:
int *pointer;
pointer = (int*)malloc(sizeof(int));
本质上,我在这里做了什么不同的事情?在第一种情况下,我创建了一个指针,它还没有指向任何东西,所以我猜如果计算机内存不足,我尝试将它指向一个 int 值我会遇到问题。第二种情况为我的指针保留空间。所以我不必担心我的程序有很多内存问题。它是否正确?如果这是正确的,我不应该为我创建的每个指针使用 malloc(或 calloc)吗?只是为了确保我的程序有更少的问题?