간단한 (?) 프로그래밍 질문 입니다.
글쓴이: hyper9 / 작성시간: 수, 2009/04/01 - 6:12오전
대부분의 분들에게는 간단할 것 같은데, 저는 잘 생각이 안되어서
이렇게 질문을 올립니다..
하고자 하는 것은요 ..
int main (void)
{
int addr[4];
이렇게 main ()에 addr이라는 4개짜리 integer array가 있고요.
이것을 아래와 같은 read_address function으로 addr[4]의 배열을 전달하고요.
read_address(addr);
아래의 read_address()에서 대입된 값을 아래와 같이 print해보려합니다.
printf("addr[0] = %x \n", addr[0]);
printf("addr[1] = %x \n", addr[1]);
printf("addr[2] = %x \n", addr[2]);
printf("addr[3] = %x \n", addr[3]);
return 0;
}
실제로 read_address()에서는 아래와 같이 어떤 값을 대입하려 하고요.
void read_address(addr)
{
addr[0] = 0x100;
addr[1] = 0x101;
addr[2] = 0x102;
addr[3] = 0x104;
}
물론 원래 하려고 했던 일은 이것과는 좀 다른 내용이지만, 지금 제가 잘 몰라서
질문드리고자 하는 부분을 위와 같이 단순화해 봤습니다.
그럼 조언을 좀 부탁드리고 싶습니다.
미리 감사드립니다.
Forums:
솔직히 뭐가
솔직히 뭐가 질문인건지 모르겠습니다....;;
addr 배열은 stack에 들어있고,
addr을 인자로 넘겨주면 addr 첫째항 주소가 넘어가고,
그걸 받은 함수에서 주소로 접근하면 main의 addr의 값이 변경되는 겁니다.
문제될게 있나요?
조금 이상한데요...
void read_address(int *addr)
{
..
}
이렇게 정의를 하셔야 할 듯 합니다.
감사합니다 ~
제가 생각이 좀 부족한 상태에서 질문을 올렸던 것 같네요..
다시 해보고 ,,더 질문이 필요하면 올릴게요 ^^
감사합니다 ~
댓글 달기