举例来说,我创建了一个指针newPtr,并使用了malloc(一些大小),然后又使用相同的指针再次使用了malloc(一些大小)。怎么了?然后,我是否要创建与第一个相同大小的第二个内存块? newPtr是否指向相同的地址?
例:
int *newPtr;
newPtr = malloc(10 * sizeof(int));
newPtr = malloc(10 * sizeof(int));
最佳答案
您的程序将发生内存泄漏。 newPtr
的第一个值将丢失,并且您将无法对其进行free
。
是。您正在分配与第一个对象不同的第二个对象。
否。对象是不同的,因此它们的地址是不同的。