제 질문은 왜 배열의 주소가 첫 번째 위치의 주소와 다른가요?배열의 주소 대 배열 [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]은 매번 임의의 주소입니다. 서로 일치하는 주소를 기대하고있었습니다. 아무도 왜 이것이 사실이 아닌지 설명 할 수 있습니까?
배열과 포인터가 항상 같지 않으며 그 반대도 마찬가지입니다. –
주소를 인쇄 할 때 '% d'을 사용하지 마십시오. –