C언어를 한번 경험한 사람들은 배열이 무슨의미 인지 알겠지만

 

한번도 코딩을 하지 않은 사람들은 배열이라고 하면 머릿속으로 상상이 안갈것 같다.

 

간단하게 말하면 같은 유형의 변수를 모아 놓은 집단이라고 할수 있다.

 

집단에 있는 각각의 변수를 요소(element)라고 할수 있고, 요소의 갯수를 배열의 크기라고 한다.

 

예를 들어

 

int test_array[] = {2,3,4,5,6,7,8,9};

 

라고 한다면, test_array는 int형 변수의 집단을 모아둔 것이라고 볼수 있다.

 

그리고 그 크기는 8이고  첫번째 요소는 2, 마지막 요소는 9 이다.

 

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  int test_array[] = {2,3,4,5,6,7,8,9};
  int i  = sizeof(test_array);
  Serial.print( i , DEC);
  Serial.println();
}

위와 같은 코드를 실행시키면, 

 

 

위와 같은 결과를 출력할수 있다.

 

이것의 의미는 int형 변수 8개가 모여  16바이트의 배열을 출력했다는 것이다.

 

그리고 각각의 요소를 출력할때에는  test_array[2] 처럼 괄호안에 숫자를 입력하면 된다.

 

알아둘것은 요소의 처음 시작은 0번부터 시작한다는 것이다.

 

배열의 첫번째 요소는 test_array[0] 이고  처음에 배열을 선언할때 변수값을 설정하여도 되고, 

 

나중에  test_array[2]  = 5;  처럼 나중에 값을 설정하여도 상관없다.

 

 

추가로 한가지만 말하자면 

 

처음 배열을 설정 할때, int test_array[5] ; 처럼  크기가 5인 int형 배열을 선언하고 값을 설정하지 않는다면

 

값은 0으로 초기화가 된다. 

아두이노 프로그램을 하다보면 가끔씩, 아주가끔씩 메모리가 모자랄때가 있다.

 

큰프로그램을 하다보면 가끔씩... 

 

하고 싶은 말을 하자면,  성능이 그닥 필요 하지 않고, 메모리를 관리 하지 않아도 될때, 기본 숫자 유형중 아무거나

사용해도 된다.

 

하지만 성능을 좀 더 올리고 싶다, 그러면 이전에 올린 글인 기본 숫자유형중 맞는 형태를 사용해야 한다.

 

일반적으로 int를 가장 많이 사용한다.  char도 사용이 가능하지만, 효율성 측면에서 int를 사용을 한다.

 

int에서도 음수가 필요한 , 양수만 사용하는 경우도 있다. 이때 사용하는것은 signed와 unsigned 두가지가 있다.

 

unsigned는 양수만을 나타낸다. unsigned를 사용함으로써 음수의 표현범위 까지 더하여 기존 부호없이 사용하였던

 

표현범위의 2배를 사용할수 있게 된다.

 

그리고 음수를 절대 사용하지 않는다는 의미에서 unsigned 사용할수 있다.

 

boolean 에서는 true와 false를 사용한다. 2가지값은 보통 외부의 스위치의 상태를 나타내는것에 사용이 된다.

 

그러나 다르게 사용할수 있는 방법이 있다. true와 false는 다른 표현방식으로 

 

High 와 Low를 사용가능하고,  1또는 0으로 표현이 가능하다.

 

digitalWrite(pin, High)
digitalWrite(pin, True)
digitalWrite(pin, 1)

위의 코든 다 같은 값을 나타낸다.

 

 

'프로젝트 > 아두이노' 카테고리의 다른 글

6.아두이노의 배열  (0) 2020.04.05
4.아두이노 기본 변수 사용하기  (0) 2020.03.29
3.자주 사용하는 아두이노 함수  (0) 2020.03.24
2. 아두이노 프로그램의 구조  (0) 2019.01.03
1. Blink 예제  (0) 2018.10.28

아두이노에서도 당연하게  다양한 변수를 사용하여 값을 표현이 가능하다.

 

다양한 변수 와 값이 잘 이해가 안된다면 아래를 확인하기 바람.

 

아마 처음 아두이노를 접하거나 책을 처음 봤다면 int가 무엇을 의미하는지 모르고 썻을 것 같다.

 

int ledpin 은 뭐지? 이런 식으로, 

 

아두이노 어플리케이션에서 int 라는 것은 integer의 약어 이다.  integer는 정수를 의미하고

 

16비트값을 나타낸다. 16비트라는것은 2진수로 숫자를 표시할때 나타낼수 있는 숫자의

 

크기를 의미한다.

 

사용하고자 하는 어플리케이션 종류에 따라서 int 말고 다른 유형을 사용하니

 

한번 설명 하고 넘어가고자 한다.

 

숫자 유형 바이트 범위
void 0 null
boll / boolean 1 True / False
char 1 -128 ~ 127
unsigned char 1 0 ~ 255
byte 1 0 ~ 255
int 2 (16bit) -32768 ~32767
unsigned int 2 (16bit) 0~65535
word 2 0 ~ 65535
long 4 (32bit) -2147483648 ~ 2147483647
unsigned long 4(32bit) 0 ~ 4294967295
flaot 4(32bit) -3.4028235E+38 ~ 3.4028235E+38 
double 4(32bit) 3.4028235E+38 ~ 3.4028235E+38

 

C언어를 조금 다루어 봤던 사람들은 flaot과 double 유형이 같다는것에 의아해 할것이지만

 

아두이노에서는 같은 유형으로 취급된다.

 

 

'프로젝트 > 아두이노' 카테고리의 다른 글

6.아두이노의 배열  (0) 2020.04.05
5.아두이노 숫자 유형에 관하여.  (0) 2020.04.01
3.자주 사용하는 아두이노 함수  (0) 2020.03.24
2. 아두이노 프로그램의 구조  (0) 2019.01.03
1. Blink 예제  (0) 2018.10.28

+ Recent posts