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