int ar[5]={1,2,3,4,5};
int ar2[5];
ar2=ar;
이렇게해서 배열에 대입은 안되는데
for (i=0;i<sizeof(ar)/sizeof(ar[0]);i++) {
ar2[i]=ar[i];
}
이렇게하면 대입이 되는 이유가 뭔가요?
int ar[5]={1,2,3,4,5};
int ar2[5];
ar2=ar;
이렇게해서 배열에 대입은 안되는데
for (i=0;i<sizeof(ar)/sizeof(ar[0]);i++) {
ar2[i]=ar[i];
}
이렇게하면 대입이 되는 이유가 뭔가요?
배열 이름은 포인터 상수라는 말을 들었습니다. 배열의 시작주소를 담고 있고 값이 한번 저장되면 바꿀 수 없다는 것이고, [ ]는 index operator 라고 해서 포인터[
] 하게되면 익히 아는 것처럼 dereference 한다고 합니다.
윗님 말씀이 맞습니다..... 덧붙이자면, 배열의 이름 가지고는 대입을 할 수 없다는 겁니다. 나중에 나오는 포인터에 관하여 배우다 보면 나옵니다 ㅎㅎ
ㄴ 아아.. 포인터를 배우면 나오나보군요. 감사드려요!
포인터를 배워도 너는 모를것 같다.