잘못된 곳을 찾아보고 그유이설명문제 ^^
스릉흔드
2023.04.01
잘못된 배열과 포인터의 사용방법이 포함되어 있는 프로그램이다. 잘못된 곳을 찾아보고 그 이유를 말하시오#include stdio.h
int main(void)
{
int a1[10];
int a2[10];
int *ptr = a2;
a1 = a2;
a2 += 1;
a1 = ptr
a1 = a2 + 1;
a2 = &a1[1];
++a1;
a2++;
return 0;
}
질문 내용 :지적해주세요그리고 이유좀알려주십쇼 ^^
-
볼수록중독
배열자체로 = 연산을 할수 없는걸로 알고 있습니다.
a[1] = 1 이런식으로 주소값으로 해서 값에 대한 대입은 되지만
a1 = a2이건 되지 않습니다.
배열 이름은 상수이기때문에 변경이 안됩니다.그래서 증감연산자가 불가능합니다.
a1++ 이렇게 는 사용할수 없습니다. -
WatchOut
&a2안하셔도 되는데 배열이름 자체가 주소값을 나타내기때문에 a2는 하지않아도 됩니다.
int *ptr = a2;가 맞습니다. -
시크포텐
헐 왜요 ? 이유좀요 ㅠ
-
중독적
int *ptr =&a2