#include <stdio.h>
void add_ten(int *pa);
int main(void){
int a = 10;
add_ten(&a);
printf("a : %d\n", a);
return 0;
}
void add_ten(int *pa){
*pa = *pa + 10;
}
- **함수 선언**: `void add_ten(int *pa);`
- `add_ten` 함수는 정수형 포인터 `pa`를 매개변수로 받습니다. 이 함수는 호출 시 주어진 포인터가 가리키는 정수값에 10을 더하는 역할을 합니다.
- **`main()` 함수**
1. **변수 선언 및 초기화**:
- 정수형 변수 `a`를 선언하고 10으로 초기화합니다. 이 변수는 `add_ten` 함수를 통해 변경될 예정입니다.
2. **함수 호출**:
- `add_ten` 함수에 `a`의 주소를 전달하여 호출합니다. 이는 `&a`를 통해 `a`의 메모리 주소를 전달함으로써, `add_ten` 함수 내에서 `a`의 값을 직접 변경할 수 있게 합니다.
3. **변수 값 출력**:
- `printf` 함수를 사용하여 `a`의 값을 출력합니다. `add_ten` 함수 호출 이후, `a`의 값은 20이 됩니다. 이는 `add_ten` 함수에서 `*pa = *pa + 10;` 수행으로 인해 `a`의 값이 10에서 20으로 변경되기 때문입니다.
4. **프로그램 종료**:
- `return 0;`을 사용하여 프로그램이 성공적으로 실행되었음을 나타내며, 프로그램을 종료합니다.
- **`add_ten` 함수**: `void add_ten(int *pa);`
- 이 함수는 정수형 포인터 `pa`를 매개변수로 받아, 포인터가 가리키는 값을 10 증가시킵니다.
- `*pa = *pa + 10;` 구문을 통해, 포인터 `pa`가 가리키는 정수값에 직접 10을 더하여 저장합니다. 이로 인해 `main` 함수 내의 `a` 변수 값이 실제로 변경됩니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 14) 여러 개의 동물 이름을 입출력하는 프로그램 (0) | 2024.09.03 |
---|---|
chapter 13) 10을 더하기 위해 값을 인수로 주는 경우 (0) | 2024.09.02 |
chapter 13) 주소를 반환하여 두 정수의 합 계 (0) | 2024.08.31 |
chapter 13) 전역 변수의 사용 (0) | 2024.08.30 |
chapter 13) 레지스터 변수를 반복문에 사용한 예 (0) | 2024.08.29 |