본문 바로가기

Foundation/수학

변수

728x90
반응형




컴파일

 
하나씩 뜯어보기

이 문장에 뜻은 a 라는 변수를 우리가 쓰겠다고 컴파일러에게 알리는 것입니다. 만약 이러한 문장이 없다면 우리가 x 가 뭐고 y 가 뭔지 알려주지도 않은 채, 친구에게 x + y 가 얼마냐? 하고 물어보는 것과 똑같은 격이 되는 것이지요.

이 때, a 앞에 붙은 int 라는 것은 int 형의 데이터를 보관한다는 뜻으로, a 에 -2147483648 에서 부터 2147483648 까지의 정수를 보관 할 수 있게 됩니다. 


만약 중간의 문장을 위 그림과 같이 한다면 아마 a 의 값을 출력하였을 때, 이상한 결과가 나오게 됩니다. 왜냐하면 보관할 수 있는 범위를 초과하는 수를 보관했기 때문이죠.


2147483647 보다 큰 수를 사용하려면 어떻게 해야되냐는 궁금증도 생기지요. 물론 이 보다도 훨씬 큰 숫자를 처리하는 데이터 형식이 있습니다. 아래의 표를 참조하세요.




세번째 열인 Range 를 보시면, unsigned 와 signed 라고 나뉜 것이 있는데, 보통 int 라 하면 signed int 를 뜻합니다. 이는 음수와 양수 모두 표시할 수 있는 대신에 양수로 표현할 수 있는 범위가 줄어듭니다.


위 문장은 무엇을 의미할까요? 언뜻 보기에도 감이 오시겠지만, 변수 a 에 10 을 집어넣는 다는 것입니다. 따라서 나중에 a 의 값을 출력시 10 이 나올 것입니다. 이와 같은 형태의 문장은 후에, 연산자에 대해 다룰 때 다시 알아보도록 하겠습니다.


마지막으로, 지난번에도 보았던 printf 문 입니다. 그런데, 약간 다른 것이 있습니다. %d 가 출력되는 부분에 써져 있습니다. 그런데, 프로그램을 실행시켜 보았을 때 %d 는 컴퓨터에서 출력되지 않았습니다. 그 대신, %d 가 출력될 자리에 무언가 다른 것이 출력되었는데, 바로 a 의 값 이였습니다. 즉,%d 는 a 의 값 (정확히는 처음 "" 다음에 오는 첫 번째 변수) 을 '10 진수' 로 출력하라' 라는 뜻이 됩니다.
728x90
반응형

'Foundation > 수학' 카테고리의 다른 글

정수 상수 변수 실수  (0) 2020.07.11
실수(real number)  (0) 2020.07.11
정수 integer  (0) 2020.07.11
통계학 개념, 자료의 종류, 자료의 요약  (0) 2020.06.05
확률 Probability  (0) 2020.06.01