티스토리 뷰

#include "stdafx.h"

int *returnarray(int*);

int _tmain(int argc, _TCHAR* argv[])
{
 int k[10] = {10,9,8,7,6,5,4,3,2,1};
 int i;

 returnarray(k);
 for(i = 0;i < 10;i++)
 {
  printf("%d\n",i);
 }
 return 0;
}

int *returnarray(int a[])
{
 int i;
 for(i = 0;i < 10;i++)
 {
  a[i] = i;
 }
 return a;
}

int a[]로 선언한 배열에서..
a 라고만 적어주면 배열의 주소값을 의미합니다.
그래서.. 포인터형 함수인 returnarray가 return a를 해주면 a배열의 첫번째 주소를 반환합니다.
주소를 건드린 것이니까 당연히 메인에서 넘겨준 배열도 값이 바껴있겠죠?

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함