반응형
"&(s->var)" vs "&s->var"에서처럼 구조체 포인터에서 구조체 멤버의 주소를 가져오려면 괄호가 필요합니까?
나는 있습니다struct str *s
;
허락하다var
변수가 되다s
아이즈&s->var
와 동등한.&(s->var)
?
예, 예, 구성원 액세스 연산자가 연산자의 주소보다 우선 순위가 높기 때문에 동일합니다.
가독성 측면에서, 두 번째 것.&(s->var)
보다 훨씬 가독성이 높습니다.&s->var
그리고 첫 번째 형태보다 선호되어야 합니다.두 번째 양식을 사용하면,&(s->var)
괄호 안의 표현식이 항상 먼저 평가된다는 것을 알기 때문에 실제로 무엇을 하고 있는지 다시 계산할 필요가 없습니다.의심스러운 경우 괄호를 사용합니다.
네.
(->)가 &보다 우선 순위가 높습니다.http://cppreference.com/wiki/language/operator_precedence) 을 참조하십시오.
예, 포인터 참조 해제 연산자 때문에->
주소 연산자보다 우선 순위가 높습니다.&
.
언급URL : https://stackoverflow.com/questions/5767973/are-parenthesis-needed-to-get-the-address-of-a-struct-member-from-a-pointer-to-t
반응형
'programing' 카테고리의 다른 글
'Invoke-WebRequest' 용어가 cmdlet의 이름으로 인식되지 않습니다. (0) | 2023.08.15 |
---|---|
압축 보관에서 폴더를 제외하려면 어떻게 합니까? (0) | 2023.08.15 |
f:ajax on 이벤트 함수에 추가 매개 변수 전달 (0) | 2023.08.15 |
Github 저장소에서 파일 가져오기 시도: "관련 없는 기록 병합 거부" (0) | 2023.08.15 |
테스트 NG를 사용한 스프링 종속성 주입 (0) | 2023.08.15 |