상수와 배열??
미투리
2023.04.01
#includestdio.hvoid fct(int *arr2);int main(void){ int arr1[2]={1, 2}; fct(arr1); printf(%d \n, arr1[0]); return 0;}void fct(int *arr2){ printf(%d \n, arr2[0]); arr2[0]=3;}여기서 한가지 이해가 가지 않는 부분이 있습니다.바로 빨강색으로 색칠한 부분인데요.분명 포인터변수 arr2는 arr1의 주소값을 나타내고 있고.arr1은 배열인 상수, arr2는 포인터인 변수 입니다.하지만 빨강색 부분을 보시면 arr2가 arr1[0]의 주소값을 가르키고 있고 그 주소에 3이라는 값을 입력해주고 있습니다.하지만 제가 알고있는 상수는 변하지 않는 값입니다.분명 배열은 상수이지 않습니까? 그럼 파랑색 부분인곳은 1이 출력되어야 되지 않나요? 하지만3으로 출력이 됩니다. 이 부분이 이해가 가질 않는데 설명좀 부탁드리겠습니다.