[ 아두이노 강좌 ] 2-2. C언어 기초 2-변수
오늘은 변수에 대해 배워보도록 하자.
변수는 어떤 값을 이름을 붙여 저장하는 공간이다.
C언어에서는 변수를 만들 때 먼저 변수의 자료형을 알아야 한다.
여기서 자료형은 변수에 들어갈 값이 정수인지, 소수인지, 문자인지 같이 값의 형식을 말한다.
그리고 변수의 이름을 정해야 합니다.
참고로 변수의 이름을 정할때는 몇 가지 제한이 있다.
1. 이름에는 영문자(대소문자), 숫자, 언더바(_)만 들어갈 수 있다.
2. 이름의 첫번째 글자에는 숫자가 들어갈 수 없다.
3. 이름에는 띄어쓰기(공백)이 들어갈 수 없다.
4. 이미 다른 기능으로 정해져 있는 이름은 사용할 수 없다.
잠시 자료형에 대해 알아보자.
자료형은 변수가 저장할 데이터의 형식을 말한다.
변수를 사용하기 위해서는 변수를 사용한다고 선언을 해주어야 하는데, 이때 변수를 선언하면 컴퓨터 또는 아두이노에서는 미리 메모리를 잡아놓는다.
자료형으로 그 변수에 문자가 들어갈지 숫자가 들어갈지 같은 형식을 정해놓아야 한다.
또 자료형 별로 잡아놓는 메모리가 정해져 있기 때문에 그 자료형을 사용한 변수에는 값이 들어갈 수 있는 범위에 한계가 있다.
그래서 큰 값을 넣으려면 더 큰 메모리를 잡는 자료형을 써야 한다.
그렇지 않고 작은 자료형으로 선언한 변수에 더 큰 값을 넣으면 오버플로우라는 것이 나면서 변수의 반대쪽 끝 값으로 넘어간다.(이게 무슨 말이냐면 예를 들어 -10~10까지의 범위를 가진 변수에 11을 넣으면 10에서 다음 수는 반대쪽으로 가서 -10이 된다는 것이다.)
먼저 아두이노에서 많이 사용할 만한 기본적인 자료형들을 알아보자.
이것들은 기초적인 것들이기 때문에 외우는 것이 좋다.
형식 |
자료형 |
범위 |
메모리 크기 |
문자 |
char |
-128~127 (문자의 아스키코드값) |
1 byte |
정수
|
short |
-32,768~32,767 |
2 bytes |
int |
-2,147,483,648 |
4 bytes |
|
long long |
-9,223,372,036,854,775,808 |
8 bytes |
|
byte |
0~255 (8bit unsigned) |
1 byte |
|
소수 |
float |
-3.4*10^3 ~3.4*10^38 |
4 bytes |
double |
-1.79*10^308~1.79*10^308 |
8 bytes |
|
논리(참, 거짓) |
bool, boolean |
참 또는 거짓 |
1 byte |
*참고로 논리에서 참은 1을, 거짓은 0을 나타낸다.(정확히는 참은 0이 아닌 모든 수이기는 하지만 1로 많이 쓰인다.)
여기서 위의 자료형들은 또 두 가지로 나눠서 쓸 수 있다.
signed와 unsigned인데 아무것도 안 쓰면 기본은 signed이다.
하지만 unsigned를 쓰면 별로 쓰지 않는 음수 범위가 양수로 넘어온다.
양수만 쓰는 변수들은 unsigned를 쓰면 범위를 2배 넓힐 수 있는 것이다.
아무튼 변수를 선언하는 방법은 아래와 같다.
(변수의 자료형) (이름);
예를 들면 이렇게 사용할 수 있다.
정수형으로 a라는 이름의 변수를 선언하려면 아래와 같이 쓰면 된다.
int a;
위에서 말한 unsigned를 쓰고 싶다면 int를 unsigned int로 바꾸면 된다.
그리고 변수를 선언하는 곳은 setup이나 loop 안에서도 선언할 수 있지만 그 위에서도 할 수 있다.
setup이나 loop 또는 나중에 배울 어떤 조건문이나 반복문에서 선언하면 그 안에서만 사용할 수 있지만 그 위의 아무것도 없는 곳에서 하면 어디서든 쓸 수 있다.
또 어디 안에서 선언하면 처음 변수를 선언할 때 변수 안에 쓰레기 값이 들어있다.
그걸 없애거나 처음에 어떤 원하는 값을 넣고 시작하고 싶으면 우리는 변수를 선언할때 초기화라는 것을 통해 원하는 값을 넣을 수 있다.
사용방법은 아래와 같다.
(변수의 자료형) (이름) = (원하는 값);
참고로 문자를 넣을 때는 작은따옴표나 큰 따옴표가 필요하다.
예를 들어 자료형이 int이고 이름이 a인 변수에 3이라는 값을 넣은 채로 선언하려고 하면 아래와 같이 하면 된다.
int a = 3;
처음에 선언할 때 말고 나중에 값을 바꾸고 싶으면 이렇게 하면 된다.
(변수의 이름) = (원하는 값);
마지막으로 예를 들어서 자료형이 float이고 이름이 b인 변수를 1.3로 초기화하며 선언하고, 다시 3.7로 바꾸려면 이렇게 하면 된다.
float b = 1.3;
b = 3.7;
'아두이노' 카테고리의 다른 글
[ 아두이노 강좌 ] 2-4. C언어 기초 4-연산자 (0) | 2021.01.02 |
---|---|
[ 아두이노 강좌 ] 2-3. C언어 기초 3-변수 기타(상수(constant),자료형 변환) (0) | 2021.01.01 |
[ 아두이노 강좌 ] 2-1. C언어 기초 1-기본 규칙(setup(), loop(), 세미콜론;, 라이브러리 #include, #define, 주석) (0) | 2020.12.30 |
[ 아두이노 강좌 ] 1-2. 아두이노 IDE 간단 사용법 2 (라이브러리 설치(추가), 라이브러리 삭제, 업로드 방법) (0) | 2020.12.29 |
[ 아두이노 강좌 ] 1-1. 아두이노 IDE 간단 사용법 1 (0) | 2020.12.28 |
댓글