我的問題是爲什麼數組地址與第一個地址不同?數組的地址與數組[0]的地址 - C語言
我想寫我自己的malloc,但開始我只是分配一塊內存和玩弄地址。我的代碼看起來大致是這樣的:
#define BUFF_SIZE 1024
static char *mallocbuff;
int main(){
mallocbuff = malloc(BUFF_SIZE);
printf("The address of mallocbuff is %d\n", &mallocbuff);
printf("The address of mallocbuff[0] is %d\n", &mallocbuff[0]);
}
& mallocbuff是我每次運行它時相同的地址。 & mallocbuff [0]每次都是一些隨機地址。我期待地址相互匹配。任何人都可以解釋爲什麼不是這樣嗎?
相同的值數組並不總是等同於指針,反之亦然。 – 2010-04-24 17:05:47
不要使用'%d'打印地址。換句話說:mallocbuff ==&mallocbuff [0] – 2013-07-03 18:14:13