:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/04/09 21:50
1. 32비트 환경에서는 포인터 변수는 형에 상관없이 4바이트입니다.
2. 이부분은 실제로 해봐야 알것같네요. 지금 컴파일러가 없어서;; 간단한 방법으로 함수의 스택사이즈 확인하시면 됩니다. 스택사이즈가 배열a의 사이즈 만큼 크다면 복사전달이고 그렇지 않다면 주소전달입니다.
09/04/09 22:26
2번의 경우에는 a가 배열의 이름... 즉 포인터 변수가 아니라 포인터 상수인듯 합니다.
안에 주소를 담고 있기는 하지만 상수이므로 a자체의 값을 변화시킬 수는 없겠죠. a[0], a[1],... 이런 식으로 안에 있는 값을 참조는 할 수 있습니다. abc함수 안에서 int * pt; pt=a; 이렇게 포인터 변수를 잡아준다면 pt++; 등의 연산도 가능하겠네요.
|