[C언어] 매개변수 사이의 자료전달

Workwork·2023년 5월 10일
0

C

목록 보기
1/4

내용에 의한 자료 전달

#include <stdio.h>
void swap(int x, int y);
void main() {
	int a=3, b=5;
	printf("호출전 a = %d, b = %d\n", a, b);
	swap(a,b);
	printf("호출후 a = %d, b = %d\n", a, b); // 함수 호출
}
void swap(int x, int y) {
	int temp;
	temp = x;
	x = y;
	y = temp;
	printf("함수내 x = %d, y = %d\n", x, y);  // 두 번수 a와 b의 값을 서로 바꿈
}

참조에 의한 자료 전달

fcn1(&a, &b); // --> 함수호출(실 매개변수)
...
int fcn1(int *x, int *y) // --> 함수정의(형식 매개변수)

주소값을 전달하기 위해 실 매개변수 앞에 주소 연산자 &를 붙임
주소값을 전달받기 위해 포인터 변수 int x, int y를 선언

#include <stdio.h>
void swap(int x, int y);
void main() {
	int a=3, b=5;
	printf("호출전 a = %d, b = %d\n", a, b);
	swap(&a,&b);
	printf("호출후 a = %d, b = %d\n", a, b); // 함수 호출
}
void swap(int *x, int *y) {
	int temp;
	temp = x;
	x = y;
	y = temp;
	printf("함수내 x = %d, y = %d\n", x, y);  // 두 번수 a와 b의 값을 서로 바꿈
}

profile
나만 알아보면 된다는 마음으로 작더라도 조금씩

0개의 댓글