我想了解两件事情。什么意思是覆盖一个malloced内存。因为我将B分配给A,是否将以下内容视为覆盖?是否为B分配内存确实是必要的?如果有人这样做,这被认为是一种不好的做法?在将一个指针指向另一个指针之前是否需要分配内存?
#include <stdio.h>
#include <stdlib.h>
int main()
{
typedef struct {
int data;
}somestruct;
somestruct *A,*B;
A = malloc(sizeof(somestruct));
B = malloc(sizeof(somestruct));
B = A;
return 0;
}
请考虑这段代码。将a的值赋给b时是否覆盖内存?在这种情况下,我必须为b分配内存,而不像之前的代码工作的情况,如果我不为b分配内存的话。有人可以解释一下吗?我在这里覆盖内存吗? 2.在将一个指向另一个指针时,是否总是需要为两个指针分配内存。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0;
int *a=malloc(sizeof(int)*10);
int *b=malloc(sizeof(int)*10);
for(i=0;i<10;i++){
a[i]=1;
}
for(i=0;i<10;i++){
b[i]=a[i];
printf("%d\n",b[i]);
}
return 0;
}
我不想回答,因为这里有两个不同的问题。请编辑并提出一个问题。 –