YUYANE

C / 포인터 사용하기 (코드리뷰) 본문

Programming Languages/C

C / 포인터 사용하기 (코드리뷰)

YUYA 2021. 1. 22. 12:28

코드 리뷰

 

앞선 포스팅에서 전역 변수 사용은 지양하라는 피드백을 받았다고 했다.

작성했던 코드는 아래와 같은데, while 문의 조건 식으로 이용하기 위해 전역 변수를 사용했었다.

그렇다면 전역 변수를 사용하지 않고, 동일하게 구현 될 코드를 작성할 수 있을까?

구글링 결과, 포인터를 사용하는 방법이 있음을 알아냈다!

 

 

 

포인터란?

 

포인터 변수를 줄여 포인터라고 부르며, 변수가 저장 되는 메모리 주소를 뜻한다. * 부호를 붙여서 선언하며 사용 방법은 아래 예시를 보자. 포인터 변수 '*numPtr'에 값을 '10'으로 저장하는 과정이다.

 

#include <stdio.h>

int main()
{
    int *numPtr;      // 포인터 변수 선언
    int num1 = 10;    // int형 변수를 선언하고 10 저장

    numPtr = &num1;   // num1의 메모리 주소를 포인터 변수에 저장

    return 0;
}

 

 

수정한 코드

 

전역 변수가 아닌 지역 변수로 선언하고, 포인터를 지정하여 함수 안에서 해당 변수의 값이 바뀌도록 설정했다.

 

 

 

변수의 주소 나타내기 (&)

 

변수 이름 앞에 '&' 부호를 붙이면 그 변수의 주소를 나타낸다.

 

 

 

참고

 

stackoverflow.com/questions/23667497/update-int-variable-in-c-inside-a-function

dojang.io/mod/page/view.php?id=275

wikidocs.net/2154

Comments