C 언어의 함수 반환 값 과 매개 변수 전달 사례 튜 토리 얼

C 언어 함수 반환 값 과 매개 변수 전달
매개 변수 전달
C 언어의 함수 에서 없어 서 는 안 될 것 은 바로 매개 변수 전달 이 고 전송 값 과 포인터 두 가지 방식 을 사용 할 수 있다.
1.값 을 전달 하 는 형식:매개 변수 값 의 복사 만 함수 에 전달 할 뿐 매개 변수 본체 가 아 닙 니 다.

int test(int x,int y)
{
    x=2*y;
    return x;
}
int main(void)
{ 
    int a=0,b=5;
    printf("%d,%d
\r",test(a,b),a); return 0; }
실행 결 과 는:
10,0
즉,값 전달 방식 은 실제 인삼 을 함수 에 만 전달 할 수 있 고 실제 인삼 자 체 를 바 꿀 수 없다.
2.포인터 형식:함수 에 직접 전달 하 는 것 은 변수의 주소 입 니 다.
예:

int a(int b,int *c)
{
    int i=0;
    for(i=0;i<4;i++)
        c[i]=b*i;
    return 0;
    
}
int main(void)
{ 
    int b=2,c[4],i;
    a(b,c);
    for(i=0;i<4;i++)
	    printf("Data is -> %d
\r",c[i]); return 0; }
실행 결 과 는:
Data is -> 0
Data is -> 2
Data is -> 4
Data is -> 6
변 조 된 함 수 는 매개 변수 포인터 의 역할 영역 안에 있 기 때문에 변수의 본 체 를 직접 바 꿀 수 있 습 니 다.
반환 값
함 수 는 매개 변수 전달 과 반환 값 을 제외 하고 변수 값 을 되 돌려 줄 수도 있 고 주 소 를 되 돌려 줄 수도 있 습 니 다.
1.변수 되 돌리 기
예:

int a(int b)
{
    int i=5;
    return 5*b;
}
int main(void)
{ 
    int b=2;
	printf("Data is -> %d
\r",a(b)); return 0; }
실행 결과
Data is -> 10
2.주소 되 돌리 기

int *test(int b)
{
    int i=0,buf[4];
    for(i=0;i<4;i++)
        buf[i]=b*i;
    return buf;
    
}
int main(void)
{ 
    int  b=2;
    int *p;
    int  i=0;
    p=test(b);
    for(i=0;i<4;i++)
    	printf("%d ,%d 
\r",p[i],test(b)); return 0; }
실행 결과
0 ,1084896256
2 ,1084896256
4 ,1084896256
6 ,1084896256
또한 국부 변수 주 소 를 되 돌 릴 수 없습니다.

int *buf()
{
	 int dad;
	 double buf[3][2];
	 dad=sizeof(buf);
  	 return &dad;//error:  dad     ,       。
}
C 언어의 함수 반환 값 과 매개 변수 전달 사례 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C 언어 함수 반환 값 과 매개 변수 전달 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 를 많이 응원 해 주세요!

좋은 웹페이지 즐겨찾기