C 언어 a와 &a의 차이

403 단어 C 언어
에서 발췌하다
일단 예를 하나 볼게요.
main()
{
    int a[5]={1,2,3,4,5};
    int *ptr=(int *)(&a+1);
    printf("%d,%d",*(a+1),*(ptr-1)); // 2 5
}

&a: 수조 a의 첫 번째 주소를 찾습니다. & a 다음에 +1을 더하면 하나의 수조의 길이를 추가합니다. 여기는 +1*5*sizeof(int), 즉 다음 수조의 첫 번째 주소를 가리킵니다.
a:수 그룹의 첫 번째 요소, 즉 a[0]의 첫 번째 주소, a+1은 하나의 요소의 길이, 즉sizeof(int)를 더한 것이다.

좋은 웹페이지 즐겨찾기