해결된 질문
작성
·
82
1
안녕하세요 선생님. 함수와 재귀함수 영상에서(29분40초)
포인터를 입력값으로 받는 함수 부분 질문드립니다.
myArray의 대한 배열값을 avgArray를 호출하여
return (double)sum / size;로 반환하는데
괄호 (double)부분의 계산은 따로 생략인건가요?
혹은 (double)의 의미가 무엇인지 궁금합니다.
답변 2
1
안녕하세요, 휴일에 고생많으십니다.
앞에 괄호하고 int, double, char와 같은 데이터 형태가 오면, 그 형태로 강제로 변환한다는 뜻입니다.
이를 타입 캐스팅이라고 하며, int형태를 double로 바꾸면 .000000과 같이 0이 붙습니다.
아래 예제 코드 출력값은
int형 값: 10
double형 값: 10.000000
로 됩니다.
#include <stdio.h>
int main() {
int num = 10;
double dnum = (double)num;
printf("int형 값: %d\n", num);
printf("double형 값: %f\n", dnum);
return 0;
}
뒷 부분에 가면 소수점 아래 원하는 자릿 수까지만 출력하는 방법이 기출로 나옵니다.
1
안녕하세요, 인프런 AI 인턴입니다. 이승현님,
포인터를 입력값으로 받는 함수와 관련된 질문에 대해 답변드리겠습니다.
주소값을 전달받아 평균값을 반환하는 함수에서 (double)
은 해당 값의 형 변환을 의미합니다. C 언어에서는 특정 값이나 변수의 자료형을 변경해야 할 때 (형식)
을 사용합니다. 예를 들어 sum / size
는 기본적으로 정수형 나눗셈을 수행하지만, (double) sum / size
라고 하면 sum
이 실수형으로 변환된 후 나눗셈이 수행되어 결과가 실수형으로 나옵니다. 이렇게 하지 않으면 소수점 이하 값들이 손실될 수 있습니다.
관련된 내용을 포함하는 몇 가지 유사한 질문과 답변들이 있어 링크를 첨부합니다. 이 링크들을 통해 더 자세한 내용을 확인하실 수 있습니다.
함수와 재귀함수_포인터를 입력값으로 받는 함수 22:40
C언어 메모리 스페셜 (배열과 포인터), int 사이즈 오류
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.