C 언어 pow() 함수란?
pow() 함수는 밑(base) 값을 지정된 지수만큼 거듭제곱한 결과를 계산하는 데 사용됩니다. 이 함수는 두 개의 인수를 받으며, 밑값을 거듭제곱한 결과를 반환합니다. pow() 함수는 C 표준 라이브러리의 math.h 헤더 파일에 선언되어 있으므로, 사용하기 전에 반드시 해당 헤더 파일을 포함해야 합니다.
함수 원형(문법)
double pow(double val1, double val2);
각 매개변수의 의미는 다음과 같습니다.
- val1 − 거듭제곱을 계산할 기준이 되는 밑값입니다.
- val2 − 지수(거듭제곱 횟수) 값입니다.
즉, pow(val1, val2)는 val1의 val2제곱(val1val2)을 계산하여 double 형태로 반환합니다.
예제 코드
다음은 C 언어에서 pow() 함수를 사용하는 예제입니다.
#include<stdio.h>
#include<math.h>
int main() {
double x = 5.5;
double y = 4.0;
double p;
p = pow(x, y);
printf("The value : %lf", p);
return 0;
}
실행 결과
The value : 915.062500
위 예제는 5.5의 4제곱(5.5⁴)을 계산하여 915.062500이라는 결과를 출력합니다.
컴파일 시 발생할 수 있는 오류
일부 온라인 컴파일러나 리눅스 환경에서는 다음과 같은 링크 오류가 발생할 수 있습니다.
undefined reference to `pow'
error: ld returned 1 exit status
오류 발생 원인
이 오류는 math.h 헤더 파일은 포함했지만, 실제 함수 구현이 담겨 있는 수학 라이브러리와 프로그램을 링크하지 않았기 때문에 발생합니다.
해결하려면 아래의 수학 라이브러리와 프로그램을 링크해야 합니다.
libm.a
해결 방법
GCC 컴파일러를 사용하는 경우, 컴파일 명령어 끝에 -lm 옵션을 추가하면 됩니다.
gcc program.c -o program -lm
이렇게 하면 pow() 함수 호출이 정상적으로 해석(링크)되어 프로그램이 문제없이 실행됩니다.