TIL 14

[250903] Day 24 - 임베디드 스터디 ON

들어가며임베디드 보드 스터디를 시작했다. 후후… 들으면 대충 아는 내용들이 나올거라고 생각했는데, 모르는 키워드들이 쏟아지고있다. 근데 하나같이 다 중요한 내용처럼 보임 ㅜㅜGPIO UART SPI I2C ADC PWM VCC 같은 것들을 이제 하나하나 차곡차곡 쌓아나가기 시작해야겠다. 그래야 지금처럼 계속해서 선두를 달릴 수 있으니깐. 오늘의 키워드언더스코어로 시작하는 변수들은 예약되어있다.지난 프로젝트를 작성하면서 다양하게 언더스코어 _ 로 시작하는 식별자들을 작성해왔다.// 헤더파일 포함 패턴#ifndef __CAT_H__#define __CAT_H__...#endif// 구조체 이름typedef struct _my_cat { ...} my_cat_tㅤ 그런데, 언더바 2개 의 의미와 유래가 ..

TIL 2025.09.04

[250902] Day 23 - 이제 내 세상이다

들어가며아래 링크에 내용 추가하였음.https://etst.tistory.com/406 [C언어] 함수의 타입변환은 무죄함수의 이름은 함수 포인터이다.int func(int a, int b){ return a + b;}int main(void) { printf("%d\n", func(10, 20)); printf("%d\n", (*func)(10, 20)); // 함수포인터에 별 아무리 찍어도 해당 함수포인터를 가리킴 printf("%d\n"etst.tistory.com 오늘까지 C언어의 기본 개념들을 배우고 나서, 알고리즘과 자료구조를 배우기 시작한다. 사실 지금부터는 내가 알고있는거니깐, 조금 더 HW 공부에 집중해야할 것 같다.오늘의 키워드Union구조체의 선언이나 사용 방법이 동일하지만, 각 멤..

TIL 2025.09.04

[250901] Day 22 - C언어도 캡슐화가 가능하다고

들어가며지난주 대가리를 박아가며 개발했던 프로젝트의 발표를 마무리했다. 사실 지금 생각해보면 결과물이 좀 짜치는 느낌이고, 방향키가 아니라 커서를 이용해서 화면에다가 입력하는 시스템을 내가 맡아서 한 번 도전해봤다면 조금 더 ‘와우’ 모먼트를 이끌어낼 수 있었을 것 같은데. 오늘 아래에 작성한 딥다이브 같은 조금 더 재미있는 것들을 많이 사용해볼걸 이라는 생각이 든다.약간 후회가 되는 것이겠찌.ㅤ그치만 우리 팀원들에게 열심히 교육을 한 것에 대해서는 보람을 많이 느낀다.지난 달에는 너무 보조강사같은 느낌으로 다른 사람들을 도와주는 포지션으로 있으면서 복습에 철저히 하는 한 달이였다면, 이번 9월부터는 차라리 스터디에 조금 더 적극적으로 참여하면서 선행학습들을 진행하는게 더 나을까? 라는 고민도 있다. 흠..

TIL 2025.09.01

[250825] Day 15 - 드디어 프로젝트를 시작합니다!

들어가며퍼플렉시티가 추천해주는 블로그, 레드의 노트!ㅤ오늘부터 프로젝트를 시작한다. 물론 C언어로 진행되는 되게 간단한 프로젝트이긴 한데, 처음 보는 라이브러리를 활용해서 C언어로 개발을 해야하고, 콜리전 같은 복잡한 연산이 되게 많이 등장하는 프로젝트라서 이게 쉽게 볼 일은 아닌 것 같은데, 괜찮을 지 고민이다.ㅤ이번 프로젝트의 목적이 나는 “C언어로 진행되는 프로젝트로 구현 감 키우기” 라고 생각해서, 완전히 화려하고 스펙타클한 게임을 만들기보다는 팀원들이 자신의 몫을 계속 설계하고 직접 구현해보는 것을 도와주는 것을 목표로 하려고 한다. 뭔가 발표에서도 우리가 연습하려고 했던 것들 + 배우려고 노력한 내용들을 조금 더 강조하면 좋은 포인트가 되지 않을까 기대되긴 한다. 호호…ㅤ지금 생각은 구글의 할..

TIL 2025.08.25

[250824] Day 14 - 즐거운 주말

들어가며즐거운 주말!ㅤ오늘의 키워드constconst는 “자신의 왼쪽에 있는 것을 변경 불가능하게 만든다”int * const a포인터 자체를 수정하지 못함 / int 값은 변경될 수 있다.int const * aint가 수정되지 못함 / 포인터주소는 변경될 수 있다.const int * a가장 왼쪽에 const가 있는 경우에는 타입을 상수화int const * a 와 동일함int가 수정되지 못함 / 포인터주소는 변경될 수 있다.const int * const aint 값을 변경하지 못하고, 포인터 값도 변경하지 못한다.ㅤImplementation-Defined Behaviour프로그램의 이식성을 위해 C언어의 표준에서는 3가지 Behaviour를 규정함. 그 중에서 Implementation-Defin..

TIL 2025.08.25

[250822] Day 12 - 메모리 동적할당과의 한 판 승부

들어가며오늘 다음주에 있을 프로젝트의 조를 꾸리는 시간이 있었다. 4인 1조를 꾸려서 프로젝트를 진행하면 되는데 내가 조장 리스트에 들어가있었다. (유후!) 학생들을 알아서 모집해야 하는 시스템이라 사실 조금 걱정했었는데, 같이 하자고 먼저 연락해주는 분들이 많았어서 빠르게 모집 마감을 할 수 있었다. 후 ㅎㅎ. 인생을 잘 살아둬서 다행이야. 사실 프로젝트 하면 Git 사용하는 방법도 가르쳐주고 내가 프로젝트 팀원들의 코드리뷰도 다 해주려고 했는데, 기획과 발표를 포함해서 단 5일 안에 진행이 되어야하다보니, 다 할 수 있을지는 잘 모르겠다. 그저 열심히 해봐야겠다는 생각 뿐이야.ㅤ오늘 C언어 시험을 쳤는데, 너무 집중을 안했나,,, 틀린문제 6개 중에 1개는 확실히 모르는거 / 2개는 다시 보니 맞는말..

TIL 2025.08.24

[250821] Day 11 - C언어는 모든게 포인터인가요

들어가며매일 저녁 수업이 끝나면 거의 뭐 클리닉 반 운영하듯이 주변 피어들에게 질문을 받고, 주어진 상황을 파악하는 방법에 대한 수업을 진행하고 있다. 근데 확실히 재미가 있는 것 같아. 그래도 우선은 임베디드를 끝까지 밀고갈 필요는 있다.ㅤ아침에 운동하고 왔는데, 무리무리 해버렸는지 발이 다시 아파오기 시작했다. 2주 전으로 돌아가버렸어… 이제는 진짜 병원을 한 번 가봐야겠다. 다들 메모하자. 병원은 부활하는 곳이 아니다.ㅤ오늘의 키워드void 포인터void 포인터는 주로 형변환을 통해 사용자가 타입을 임의로 지정해서 사용하는 케이스에 주로 사용된다.타입이 확실한 경우에는 타입 정보 없이 주소값만 필요한 경우(값 참조연산 X, 포인터 단위 이동 X)에라도, void * 로 대충 퉁치기보다는 정확한 타입..

TIL 2025.08.22

[250820] Day 10 - &&__ ** 별보러가자

들어가며오늘은 좀 피곤하네 ^,^오늘도 간단하게 수업을 하고 왔다. 이번 주제는 다중 포인터! 피어한테 설명해주면서 배열등가포인터 또는 배열을 가리키는 포인터를 다른 포인터 변수에 담아주는 경우에, 해당 변수로는 배열의 크기를 전달해줄 수 없다는 결론에 이르렀다… 나는 당연히 될 줄 알고 “이렇게 하면 될 것 같은데요?!” 라면서 코드를 두드려봤는데, 시간을 날리고 클로드에게 물어보니 안되는거라고 하더라.. 😢ㅤ오늘의 키워드배열의 이름배열의 이름을 이용해 연산자를 호출하면 조금 특별하게 작동함.ㅤint main(void) { int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; printf("%d \n", sizeof(a)); // 48 prin..

TIL 2025.08.21

[250819] Day 9 - 개인교사 데뷔전

들어가며오늘은 아침에 운동도 다녀왔다! 재활치료 겸 다녀왔는데, 그래도 발이 살살 아픈게 조금 쉬면서 츄라이를 해봐야겠다.ㅤ수업이 끝나고나서는 클래스메이트한테 거의 1시간 반동안 개고생에 있는 포인터 연산을 수행하는 과정에 대해서 열심히 1대1로 수업을 해줬다. ㅋㅋㅋㅋ 나름 열심히 꿀팁도 알려주고 연습문제도 내면서 개념을 전달했는데, 잘 되었는지는 모르겠다. 이번주에 시험 치면 결과로 알 수 있겠지. 후후.ㅤ내일도 수업할 예정인데, 인증샷으로 남기게 칠판에 쓴 걸 좀 찍어놔야겠다.ㅤRN 프로젝트도 얼른 끝내야하는데,,,ㅤ오늘의 키워드모듈?위 그림에서 모듈은 c언어 파일 하나를 말함.각 파일을 별도로 컴파일하면 파일마다 obj 파일이 나옴.오브젝트 파일들을 링크하여 실행파일로 만듦.링크 - 미정의된 심볼..

TIL 2025.08.20

[250818] Day 8 - 알고리즘 재활치료 시작

들어가며주말간 C언어로 알고리즘 문제를 좀 풀었다. Swift나 Dart 같은 언어를 썼으면 손쉽게 휘리릭 했을 알고리즘이나 자료구조들이 (차라리 C++이라도 썼다면 좀 나았을텐데) 시작부터 구현의 장벽으로 느껴졌다 ㅋㅋㅋ 포인터를 주고받고 구조체를 정의하고 초기화하고, 구조체 포인터를 주고받는 코드를 작성하면서 재활치료를 좀 했는데, 나름 잘 풀어지는 것 같으면서도 생각대로 구현하는게 되게 어려웠다. 그래도 포인터를 써서 뭔가 자료구조들을 쌓아올리는건 재미있다고 느껴지기도 해서, 고급 알고리즘이나 자료구조들을 찬찬히 공부하기 시작해야할 것 같은 느낌적인 느낌쓰가 든다. 후후 오늘의 키워드BSS가 뭐냐BSS (Block Started By Symbol)초기화 안된 전역변수, static 변수가 저장되는 ..

TIL 2025.08.18
320x100