728x90
#include <stdio.h>
void swap(int a, int b);
void swap_addr(int *a, int *b);
int main(void)
{
// SWAP
int a = 10;
int b = 20;
printf("a의 주소 : %d\n", &a);
printf("b의 주소 : %d\n", &b);
// a와 b의 값을 바꾼다.
printf("Swap 함수 전 => a: %d, b = %d\n", a, b);
swap(a, b);
printf("Swap 함수 후 => a: %d, b = %d\n", a, b);
//값에 의한 복사(Call by Value) -> 값만 복사한다는 의미
// 주소값을 넘기면 ...
printf("(주소값 전달) Swap 함수 전 => a: %d, b = %d\n", a, b);
swap_addr(&a, &b);
printf("(주소값 전달) Swap 함수 후 => a: %d, b = %d\n", a, b);
return 0;
}
void swap(int a, int b)
{
printf("Swap 함수 내의 a의 주소 : %d\n", &a);
printf("Swap 함수 내의 b의 주소 : %d\n", &b);
int temp = a;
a = b;
b = temp;
printf("Swap 함수 내 => a: %d, b = %d\n", a, b);
}
void swap_addr(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
printf("(주소값 전달) Swap 함수 내 => a: %d, b = %d\n", *a, *b);
}
그 결과
728x90
'개발자 모드 > C언어' 카테고리의 다른 글
ChatGPT로 개발하기 CodeComposerStudio 개발하기 (0) | 2024.11.03 |
---|---|
C언어 배열과 포인터의 관계 2 (0) | 2021.09.18 |
C언어 다차원 배열 기본 개념 #2 (0) | 2021.09.18 |
C언어 배열과 포인터의 관계 (0) | 2021.09.18 |
C언어 배열과 포인터의 관계 (0) | 2021.09.17 |