본문 바로가기
개념/혼자 공부하는 C언어

chapter 13) 포인터를 써서 변수의 값에 10을 더하는 경우

by kiseno 2024. 9. 1.
728x90
반응형
SMALL
#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` 변수 값이 실제로 변경됩니다.

728x90
반응형
LIST