&A[0]+1과A[1]
197
c쌩초보
작성한 질문수 5
0
#include<stdio.h>
int main() {
int A[][15] = { {1,2,3},{4,5,6},{7,8,9} };
printf("%p\n%p", &A[0] + 1, A[1]);
}
여기서 &A[0]+1값과A[1]값이 같은 이유가 뭔가요 ?
&A[0]=A[0]이어서&A[0] + 1=A[0]+1=&A[0][1]이 되는거 아닌가요?
답변 1
0
안녕하세요!
&A[0] 과 A[0]은 다릅니다. 반면 &A[0] = A 는 같습니다.
&A[0]은 배열 A의 0번째 인자의 시작 주소를 의미합니다.
A[0]은 배열 A의 0번째 인자의 값을 의미합니다.
이 둘을 printf에서 %p 로 출력하면 결과값은 같습니다만, 프로그램상의 의미는 다릅니다.
.
.
&A[0] + 1 = (&(A[0]) + 1 = A[1] 이 성립합니다.
(&(A[0]) + 1 를 글로 풀어 보면
A배열의 첫번째 요소의 주소에서 sizeof(int) * 1 만큼 다음 주소값.
21강 배경음악
2
43
1
llm_decision_logs 저장 실패(실적 컬럼 불일치)를 어떻게 해결할까요?
2
63
4
캐릭터 베지어 커브 따라가게 만들기
1
49
3
디자인 시스템 강의 질문
1
43
1





