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 언어 함수 반환 값 과 매개 변수 전달 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 를 많이 응원 해 주세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.