Computer/컴파일언어
C언어) Call By Reference, char 배열, char 포인터
ywlee
2016. 1. 4. 16:43
< 목적 >
main 함수에서 a라는 char 배열을 B함수로 넘겨 값을 변경한 후 , main으로 돌아와 a를 출력하였을때, 값을 변경
< 코드 >
void main()
{
// 초기화 된 a 배열 선언
char a[10] = {'0', };
printf("main:a=%s\n", a);
// B 함수를 호출
B(a);
printf("main:a2=%s\n", a);
}
void B(char *a)
{
// a를 출력해 보자.. 0이 10개 나올것이다.
printf("B:a=%s\n", a);
// 값의 변경을 시도한다.
char b[10] = {'1', };
// sprintf 함수를 이용하여, a에 b를 넣는다.
sprintf(a, "%s", b);
// 변경된 값의 출력을 시도
printf("B:a2=%s\n", a);
}
< 결과 >
main:a=0000000000
B:a=0000000000
B:a2=1111111111
main:a2=1111111111