배열이름이 포인터 상수라면 그 원소를 써줄 때 사실상 주소를 써줘야하는거 아닐까요?
유라
2023.06.16
질문 제목 : 배열이름이 포인터 상수라면 그 원소를 써줄 때 사실상 주소를 써줘야하는거 아닐까요?질문 요약 :배열이름이 포인터 상수라면 그 원소를 써줄 때 사실상 주소를 써줘야하는거 아닐까요?질문 내용 :
배열이름이 포인터 상수라면 그 원소를 써줄 때 사실상 주소를 써줘야하는거 아닐까요?
for example
int num=10;
int *pnum=#
라고 선언을 하는데 잘 보시면 int *pnum = &num
곧, pnum에 num의 주소값이 들어가고 있습니다!
하지만,
int arr[3]={11,22,33};
을 보면 arr은 pnum과 같이 포인터인데 상수입니다. 곧, 포인터인데 옆에 arr자체가 상수라서 물론 못오지만,
&num처럼 주소가 온게 아니라
11, 22 , 33 이런 값이 들어왔습니다.
이건
솔직히 약속으로 봐야하는건가요
아니면 하드웨어 구성상 뭔가 숨어있는 의미가 있는건가요
자세한 답변 원합니다.
답글 달아주세요
-
아지랑이 2023-06-16
아 네 알고 있습니다 ㅎ
-
앵겨쭈 2023-06-16
알고 있어요 ㅎ
-
중국드립 2023-06-16
arr[n]은 *(arr+n)과 동일합니다.