인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

kaisendon님의 프로필 이미지
kaisendon

작성한 질문수

홍정모의 따라하며 배우는 C언어

10.14 2차원 배열과 포인터

강의 8분 49초경 연산자 순서에 대한 질문이 있습니다.

작성

·

201

1

교수님께서 쓰신 코드의 24번째 줄을 보시면

printf("%u\n", (unsigned)(&arr2d[0] + 1));

이렇게 되어있는데요. 제가 생각하는게 맞는지 한번만 확인 부탁드립니다.

&arr2d[0] + 1 부분을 연산하는 순서는 연산자 우선순위에따라 []가 먼저수행되어 arr2d[0] 이 수행되고

그이후 연산자 우선 순위가 높은것이 & 이므로 &arr2d[0] 이 수행되어 arr2d의 맨첫번째 원소 주소가 되고

그이후 연산자 우선 순위가 높은것이 +이므로  arr2d의 맨첫번째 원소 주소 에 포인터 연산으로 1을 더해서(여기서는 2차원 배열의 형태로 존재하고 각배열에 float 4개가 존재하므로 16바이트가 더해짐) arr2d의 5번째 원소의 주소가 최종적으로 나오게 되는것이 맞는 건가요? 

답변 1

2

네 맞습니다!

kaisendon님의 프로필 이미지
kaisendon

작성한 질문수

질문하기