我想了解兩件事情。什麼意思是覆蓋一個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;
}
我不想回答,因爲這裏有兩個不同的問題。請編輯並提出一個問題。 –