2017-10-30 8 views
-1

나는이 라인이 있습니다(type) (value) 형식의 표현식의 의미는 무엇입니까?

lsb = (char) (intNumber & 0xff); 

을하고

name = (type) (value) 

처럼 기록 된 이유에 나는 무엇을 정확히 의미, 또는 같은 변수를 정의하는 목적은 무엇인가 않습니다 혼란 스러워요 ? 구문 상수/변수를 지정하여 여기에 변수 예컨대 :

float x = 5.55; 
int y = (int)x; // in this case, the casting would have happened implicitly 
// or 
printf("%d",(int)x); 
// this will display 5 

을 타입 변환하는 것입니다

+0

Arduino는 C++로 프로그래밍되었습니다. –

+4

그리고이 질문에 도움을 받으려면 [좋은 초보자 몇 권 읽으십시오] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)를 참조하십시오. –

+0

저에게 던지기 같이 보입니다. – Aidenhjj

답변

2

lsb = (char) (intNumber & 0xff); 는 intNumber은 왔으며0x11111111와 -ed이어서 8 비트 문자 캐스트, 따라서 그 변수의 최하위 바이트를 찾는다.

0

는 당신이 괄호의 첫 번째 쌍의 내부에 언급 어떤 형식으로 변환됩니다.

+0

캐스팅을위한 ** a ** 구문입니다. 특히 여러 가지 중에서 캐스팅 할 * 오래된 * 구문을 상속합니다. C. 적절한 C++ 코드는 실제로 특정 C++ 캐스트 중 하나를 사용해야합니다. –

0

이 줄은 왼쪽에 변수를 맞추기 위해 오른쪽에있는 표현식에 의해 주어진 결과를 char로 강제 변환한다는 것을 의미합니다.