작성
·
184
0
안녕하세요. (unsigned)& aname[i]와
(unsigned) aname[i]을 모두 출력해보면
&의 유무와 관계없이 주소값이 15씩 차이가 나는데 이유가 무엇인지 궁금합니다.
int main(void)
{
char* name[] = { "Aladdin", "Jasmine", "Magic Carpet", "Genie" };
const int n = sizeof(name) / sizeof(char*);
for (int i = 0; i < n; i++)
printf("%s at %u\n", name[i], (unsigned)name[i]);
printf("\n");
char aname[][15] = { "Aladdin", "Jasmine", "Magic Carpet", "Genie" };
const int an = sizeof(aname) / sizeof(char[15]);
for (int i = 0; i < an; i++)
printf("%s at %u\n", aname[i], (unsigned)& aname[i]);
printf("\n");
return 0;
}
답변 1
1
안녕하세요?
10.14 강의를 보시게 되면 해결이 될 것 같네요.
혹은 https://www.inflearn.com/questions/48209 이 질문을 참고하시면 도움이 될 것 같습니다.
이는 1차원 배열의 경우 arr 와 &arr 가 같은 값을 출력하는 것과 같은 문제입니다.