2
GMP의 매뉴얼에 따르면 "정수 계산을위한 함수는 모든 정수 객체가 초기화되었다고 가정합니다. 함수를 호출하여 수행 할 수 있습니다." 위의 코드에서 mpz_init(result);
를 제거하는 경우 예를 들어GMP에서 변수 초기화
,
int main(){
mpz_t n1, n2, result;
mpz_init_set_str(n1, "465860", 10);
mpz_init_set_str(n2, "167", 10);
mpz_init(result);
mpz_mod(result, n1, n2);
mpz_out_str(stdout, 10, result);
return 0;
}
, 컴파일러는 분할 오류 오류가 발생합니다. 그래서, 내 질문에 정확히 정의의 두 유형 사이의 차이점은 무엇입니까 mpz_t result
과 mpz_init(result)
입니다. mpz_init
도 필요한 이유는 무엇입니까?
mpz_clear를 잊지 마세요. 또는 모든 마법을 수행하는 C++ 인터페이스를 사용하십시오. –