출력결과는 왜 1 2 4 인지 알겠습니다.ㄱ과 ㄴ에 들어갈 값을 고르는데 헷갈려서 질문드립니다저 문제에서 ㄱ, ㄴ에 들어가는 값이 c함수에 의해 swap됩니다저기서 it+a와 it[a]의 차이가 무엇인가요?답이 2번인데, it[a]형태로 전달하면 안되는건가요?
첫댓글 it+a는 주소이고it[a]는 내용물입니다.
배열은 포인터기능도 하지않나요?it[a]로 전달한다면 c함수내에서만 swap되고 바깥에는 영향이 없나요?
함수 c(int *a, int *b)의 인수는 포인터입니다.해서, 주소를 전달해야 합니다.그렇지 않으면, 오류입니다.
c함수내에서만 swap되고 바깥에는 영향이 없나요?이 질문에 대한 답변은주소를 전달하면함수 내부에서 어떻게 취급하느냐?에 바깥에 영향이 있을 수도 있고, 없을 수도 있습니다.
배열은 포인터기능도 하지않나요?배열, int a[100];에서 a는 주소, a[1]은 내용물잘 알고 있는 것입니다.
그렇군요 배열명으로만 쓸때는 포인터기능도 하여서 it[a]로 전달할때도 포인터처럼 전달하는줄 알았습니다내용물인걸 기억하겠습니다 감사합니다!
첫댓글
it+a는 주소이고
it[a]는 내용물입니다.
배열은 포인터기능도 하지않나요?
it[a]로 전달한다면 c함수내에서만 swap되고 바깥에는 영향이 없나요?
함수 c(int *a, int *b)의 인수는 포인터입니다.
해서, 주소를 전달해야 합니다.
그렇지 않으면, 오류입니다.
c함수내에서만 swap되고 바깥에는 영향이 없나요?
이 질문에 대한 답변은
주소를 전달하면
함수 내부에서 어떻게 취급하느냐?에 바깥에 영향이 있을 수도 있고, 없을 수도 있습니다.
배열은 포인터기능도 하지않나요?
배열, int a[100];에서 a는 주소, a[1]은 내용물
잘 알고 있는 것입니다.
그렇군요 배열명으로만 쓸때는 포인터기능도 하여서 it[a]로 전달할때도 포인터처럼 전달하는줄 알았습니다
내용물인걸 기억하겠습니다 감사합니다!