책을 보던중 연산시 앞에 아래처럼 (int)를 사용하던데 왜 사용하는건가요? 사용시 달라지는 부분이 있나요? return get()+(int)(salesresult*boonusratio);
salesresult, boonusratio가 어떤 형인지 모르겠지만 (아마 salesresult 는 정수형, boonusratio(bonusratio인것 같기도 하구요 ^^) 는 실수형일것으로 예상만 해봅니다.)
(int) 뒤의 값을 int 형에 맞게 변환해주는 역할을 하게 됩니다.
자료형, 형변환 등으로 검색해보시는 것을 추천합니다! :-)
return get()+(int)(salesresult*boonusratio);
포인터의 산술연산은 일반 덧셈과 뺄셈과는 다르게 동작합니다.
예를 들어 salesresult 자료형의 크기가 100이라고 가정하고 boonusratio의 값이 100이라고 하면,
(salesresult*boonusratio) + 1 = 100 + (salesresult 자료형의 크기)*1 = 200 (int)(salesresult*boonusratio) + 1 = 101
가 됩니다. 아마도 포인터 연산을 통해 특정 멤버를 강제로 얻는 형태로 추정됩니다.
PS. C의 경우 구조체가 pack 됐을 경우 padding 또는 C++의 경우 가상함수 테이블때문에 얻고자 하는 논리적인 값이 실제로 어느 위치에 있을지는 컴파일러 마다 다릅니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
자료형 변환하기 위한 코드입니다.
salesresult, boonusratio가 어떤 형인지 모르겠지만 (아마 salesresult 는 정수형, boonusratio(bonusratio인것 같기도 하구요 ^^) 는 실수형일것으로 예상만 해봅니다.)
(int) 뒤의 값을 int 형에 맞게 변환해주는 역할을 하게 됩니다.
자료형, 형변환 등으로 검색해보시는 것을 추천합니다! :-)
return
포인터의 산술연산은 일반 덧셈과 뺄셈과는 다르게 동작합니다.
예를 들어 salesresult 자료형의 크기가 100이라고 가정하고 boonusratio의 값이 100이라고 하면,
가 됩니다. 아마도 포인터 연산을 통해 특정 멤버를 강제로 얻는 형태로 추정됩니다.
PS.
C의 경우 구조체가 pack 됐을 경우 padding 또는 C++의 경우 가상함수 테이블때문에
얻고자 하는 논리적인 값이 실제로 어느 위치에 있을지는 컴파일러 마다 다릅니다.
댓글 달기