void Swap(int n)
{
int i,j;
int temp,temp1;
double temp2;
for(i=0; i<n-1;i++)
{
for(j=i+1; j<n; j++)
{
if(num[4][i] < num[4][j])
{
temp=num[0][i];
num[0][i]=num[0][j];
num[0][j]=temp;
temp1=num[4][i];
num[4][i]=num[4][j];
num[4][j]=temp1;
temp2=avg1[i];
avg1[i]=avg1[j];
avg1[j]=temp2;
}
}
}
}
전에 짯던 성적표에 swap 부분을 따온건데 이건 잘되는데
책에 있던 예제를 풀어보려고
void swap(pt pos1, pt pos2)
{
pt temp;
temp=pos1;
pos1=pos2;
pos2=temp;
}
이렇게 짜봣더니 이건 값이 바뀌지않더군요 책에보니 잘못된 예로 이이런식이 써있는걸 보았습니다.
근데 첫번째 소스는 변경이 잘만되고 두번째 소스는 왜 되지를 않나요 똑같이 call by referecne 아닌가요?