IoT Embeded 강의(22)
-
2022.03.01 구조체
구조체 구조체는 데이터 타입을 한 세트로 묶어 놓은 것이라고 생각하면 좋습니다. 우리는 char, short, int, long, double 과 같은 자료형에 대해서 배웠는데 이를 기본 데이터 타입이라고 합니다. 그렇다면 이런 기본 데이터 타입들을 조합하여 새로운 데이터 타입을 만들수도 있을 것입니다. 왜 기본 자료형을 조합해야 하는 일이 필요할까요? 회원 관리 프로그램을 만든다고 했을 때 고객의 정보에 들어가는 자료형이 단순히 한가지의 자료형은 아닐 것입니다. 고객의 이름은 char형으로 이루어진 배열일 것이며, 고객의 전화번호, 주소, 계좌번호 등 다양한 정수형, 실수형 자료들이 요구될 것입니다. 이렇게 한 명의 고객이 갖고 있는 정보들을 같은 자료형끼리만 묶어서 관리하는 방법도 있겠지만 고객 이름..
2022.03.01 -
2022.02.28 유틸리티 함수, 수학 함수
유틸리티 함수 텍스트를 숫자로 변환하는 함수, 난수 발생 함수, 데이터 정렬 함수 등을 포함하고 있는 헤더파일 을 인클루드 하여 사용합니다. 텍스트/ 바이너리 변환 문자열(텍스트)로 만든 "32767"과 int형 변수에 32767을 대입하여 넣어 둔 것은 컴퓨터 입장에서는 다르게 보입니다. 문자열은 char형 변수(문자1개) 5개가 연달아서 '0x33', '0x32', '0x37', '0x36', '0x37' 로 있는 것으로 해석됩니다. 이와 다르게 int형 변수 안에 들어가는 정수 32767은 '0x7fff' 하나로 해석됩니다. 문자열 형태를 텍스트라고 한다면 정수형 데이터를 바이너리라고 할 수 있겠습니다. 텍스트에서 바이너리로 변환해주는 함수가 존재하는데 문자열에서 int,long,double 형으로..
2022.03.01 -
동적 메모리 할당
정적/ 동적 메모리 할당 변수나 배열을 선언하면 각각 메모리에 공간을 차지하게 됩니다. 변수는 자료형에 따라, 배열은 자료형과 크기에 따라 차지하고 있는 공간이 달라지게 됩니다. 정적 메모리 할당은 프로그램 작성 중(Compile time, Design time)에 메모리 공간을 지정하게 되고 프로그램 실행 중(Run time)에는 바꿀 수 없습니다. 이와 달리 포인터와 동적 메모리 할당을 하게 되면 프로그램 실행 중 할당되는 메모리를 사용자의 입력값에 따라 바꿀 수 있게 됩니다. 메모리 할당 포인터 변수가 직접 어떤 변수나 배열의 주소값을 받아 사용될 수도 있지만 포인터에 특정 공간의 메모리를 할당시켜 사용할 수도 있습니다. 이를 하기 위해선 먼저 헤더파일을 삽입해줘야 합니다. 이 후 메모리 할당 함수..
2022.02.28 -
포인터 / 포인터 선언 / 초기화 / 연산 / 문자열
다른 언어와 다르게 C언어의 가장 강력한 무기는 바로 포인터입니다. 포인터의 장점 중 하나는 메모리를 효율적으로 다룰 수 있다는 것입니다. 임베디드 분야에서 C언어가 필수인 이유도 메모리 관리가 용이하기 때문입니다. 제가 소스 코드를 작성하면서 많은 양의 데이터를 다루기 위해 배열을 선언한다고 가정합시다. 배열의 크기는 한번 선언하면 이는 중간에 바꿀 수 없습니다. 만일 제가 800byte의 배열을 선언하면 이는 프로그램이 종료될 때까지 메모리에 공간을 차지하고 있습니다. 만약 들어오는 데이터가 일정하게 이 공간을 채우지 못한다면 낭비되거나 또는 공간이 더 필요한 상황이 나타날 수 있습니다. 만일 다루는 데이터 양이 적거나 컴퓨터 성능이 여유롭다면 이런 걱정을 안해도 되겠지만 임베디드에서 사용하는 컴퓨터..
2022.02.28 -
자료형과 해석
C언어에서는 변수를 쓰기 전에 이 변수에 대해 어떤 자료형을 갖고 있고 어떤 변수이름(식별자)으로 사용할지 미리 컴파일러에게 인지를 시켜줘야 합니다. 소스코드 상에서 아래와 같이 사용하며 변수를 선언한다고 얘기합니다. 선언은 일반 변수뿐만 아니라 포인터, 배열, 함수등 여러 종류의 선언이 있습니다. int x; // 'x'라는 변수 이름을 지어주면서 이 변수의 자료형은 int형이라는 의미입니다. char Array[5]; 'Array'라는 배열 이름을 지어주면서 이 배열의 자료형은 char로 char형 변수가 5개 있는 것과 같습니다. 여기서 자료형이라는 것에 대해서 정리하겠습니다. 컴퓨터는 모든 데이터와 명령어들을 최종적으로 0과 1로 표현합니다. 이진법에서 자리가 한칸이라면 그 한칸의 자리에서 표현 ..
2022.02.24 -
배열과 문자열
#문자열 char 문자형 변수를 선언한 뒤 변수에 문자 1개를 대입하는 것은 다음과 같습니다. char x = 'a'; x에 작은 따옴표를 사용하여 a라는 문자를 대입했습니다. 이를 출력 시 형식지정자 %c를 사용하여 출력할 수 있습니다. printf("%c" , x); // 출력하게 되면 a 가 출력됩니다. 문자 여러 개를 배열에 담아 출력하면 문자열을 출력할 수 있습니다. C언어에서는 1개 이상의 문자들을 다룰 때는 배열을 이용합니다. 문자형 배열을 선언한 뒤 그 안에 여러 개의 문자를 넣어 하나의 단어나 문장을 만드는 것입니다. 정리하면 'a' 는 문자이고 'apple'은 문자열이며 배열에 담깁니다. 문자형 배열 선언와 대입 방법은 다음과 같습니다. char array[5] = "good"; 자료형..
2022.02.14