다음 발췌 내용은 Harbinson, Steele C: A Reference Manual (5th Edition)입니다. 이 책에 따르면 p
에 대한 두 지정은 동일합니다. &a
은 int
의 어레이 형 포인터 반면포인터에 * 및 배열 할당
7.5.6 주소 조작
int a[10], *p;
p = a; p = *&a;
아직 C의 질문 Question 6.12a
에 따른 int
을 입력 포인터이다.
두 번째 할당 p = *&a
에 유형 오류가 발생하므로 포인터에 int
배열을 지정하려고합니다.
p = *&a
지정이 올바른 이유는 무엇입니까?
만약 '& a'가'int'의 배열을 가리키는 포인터라면, * & a는'int'의 배열입니다.이 배열은'int'에 대한 포인터 형입니다. 'p'. –
질문 본문에 _post links_를 추가하지 마십시오.어쨌든 모든 좋은 대답은 인용/인용 할 것입니다. –
단항'*'은 단항'&'의 반대이므로'* & a == a'이므로'p = a'가 합법적 인 경우'p = * & a'도 마찬가지입니다. – jamesdlin