본문 바로가기

분류 전체보기194

2.1 기본자료형 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 2.1 기본자료형 : 자료형마다 데이터 사용량, 사용방식이 조금씩 다르다. 컴퓨터는 기본적으로 전압이 높고 낮음에 따른 0,1 둘밖에 다루지 못한다 1 bit = 0 or 1 1 byte = 8 bit 가 된다. 예를 들어서 0 은 1bit이고 0100 은 4 bit 01001001은 8 bit = 1 byte가 된다. 아래 그림을 보면 문자와 숫자가 얼마만큼의 메모리를 차지하는지 알 수 있다. 문자는 개수가 많지 않아 1byte만을 사용한다. 하지만 정수는 그 수가 매우 많아 4byte를 사용한다. #.. 2021. 5. 3.
1.12 ~ 1.13 헤더가드가 필요한 이유(LINK ERROR), Namespace 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 1.12 헤더가드가 필요한 이유 앞서 함수의 정의를 cpp파일에, 함수의 선언을 header파일에 쪼개어 정리하는 방법을 배웠다. 그런데 하다보면 바쁜 상황에서 함수안에 함수가 있게되고, main파일에 중복으로 함수를 불러오는 경우가 생긴다. 이 때, 함수가 중복이되면 빌드에러가 발생하는데 이를 방지하기 위한 것이 헤더가드이다. 1.13 Namespace 활용 #에러코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include int dosomething(int a.. 2021. 5. 3.
1.10~ 1.11 함수파일쪼개기, 헤더파일 만들기 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 매우 긴 코드. 매우많은 함수가 있는 상황에서 main함수는 저 뒤에 있어 보이지도 않고 함수들만 보일 때, 함수를 저멀리 뒤로 보내고 main함수를 앞으로 불러오는 대신에 선언과 정의를 구분하여 코드를 정리할 수 있다. 1.10 선언과 정의 분리 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include using namespace std; //forward declaration int add(int a, int b).. 2021. 5. 2.
삼항연산자, 보기 좋은 코드 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 삼항연산자 int y = (x > 0) ? 1 : 2; 괄호안이 참이면 ?뒤 왼쪽 수를 y에 대입 1 2 3 4 5 6 7 8 9 10 11 12 13 #include using namespace std; int main() { int x = 2; int y = (x > 0) ? 1 : 2; cout 2021. 5. 2.
1.7 지역범위(Local Scope) 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 첫번째 x, 두번째 x, 세번째 x는 식별자 이름은 같지만 해당 지역({})에서만 존재하고 그 지역을 벗어나면 사라진다. 다른 메모리 공간이기 때문에 이름이 같아도 상관이 없다. 반면에, 새로운 괄호안에서 int x로 새로운 객체정의가 아닌 기존의 객체x에 할당하는 x=을 쓴다면 바깥 영역의 x 메모리에 할당하게 된다. #연습문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include using namespace std; void doSomething(.. 2021. 5. 2.
1.6 키워드와 식별자 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 핵심 : 의미를 가지되, 간결한 것. 빠르게 타이핑하기 좋은 것. 협업자들의 문화에 맞는 것을 쓰자. 식별자 : 객체의 메모리 주소를 구분하기 위한 이름들 메모리 주소를 프로그래머가 알기 쉽게 지은 이름 주의사항 : 기존에 있는 함수, 기능의 것들과 겹쳐서는 안된다. 타이밍 속도를 높이기 위해서 처음에는 익숙치 않더라도 언더바(_)와 같은 자주, 많이 쓰이는 것들은 연습을 하자. 대문자 : shift + 예제) int total; o int _orange; o int VALUE; x 대문자로는 관습적으로.. 2021. 5. 2.
1.5 함수 활용 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 함수 function : 복잡한 식을 내장시켜 여러번 찍어쓰기에 유용 리턴값 return values : 함수의 출력값, 반환값 매개변수 parameters : 함수의 매개변수 인자 arguments : 매개변수에 input되는 인자 # 함수만들기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include using namespace std; int addTwoNumbers(int num_a, int num_b) { int sum = num_a + num_b; ret.. 2021. 5. 2.
1.4 iostream : cin(console-in) cout(console-out) 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! cin : console in cout : console out endl : end line : '줄이 끝났다 & 다음줄로 옮기자' 두가지 의미를 내포 # cout 1 2 3 4 5 6 7 8 9 10 11 12 #include // cin, cout, endl 등이 정의된 라이브러리 int main() { int x = 1024; double pi = 3.141592; std::cout 2021. 5. 2.
1.3 int x = 123; 의 작동원리 : 변수, 초기화, 할당 #객체 objects 컴퓨터는 메모리와 CPU로 일을 한다. 물체가 실재함은 어떤 공간을 차지함을 보고 인식할 수 있다면 컴퓨터상에서 무언가 실재함은 메모리상에 존재하느냐로 인식할 수 있다. 메모리상에 존재하는 것이 객체이다. 객체는 메모리에 담겨있다. #변수 variables 메모리상에 존재하는 객체에 이름을 붙인 것. 예를 들어 메모리를 아파트, 객체를 그 안에 사는 가구라고 하면 특정 가구의 위치는 ***동***호이다. 이렇게 숫자로 이루어진 ***동***호는 컴퓨터에게는 익숙하지만 사람에게는 '누구누구네집'이 더 와닿는다. 그래서 객체에 이름을 짓고 이름을 가져와 코드 작성을 하는 것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include int main() { // x라.. 2021. 5. 1.
1.2 주석만 잘달아놨어도 하루를 아낄 수 있었을텐데 # 주석을 다는 이유 1. 출처표시 2. 명령문 설명 3. 오류구문 무시 # 단축기 범위 드래그 후 ctrl + k, 그리고 난 뒤 ctrl + c는 주석, ctrl + u는 주석해제 1 2 3 4 5 6 7 8 9 int main() { int n_item = 180; /*아이템 하나당 1천원, 1+1event*/ n_item / 2 * 1000; return 0; } cs 이처럼 코드를 해석한 내용이 아닌 코드 내용이 왜 이렇게 이루어져 있는지를 설명해줘야 함. 출처) 홍정모의 따배씨++ www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz 좋은 강의에 너무나 감사하다. 이전에는 그냥 무작정 따라썼던 코드들을 한줄한줄 이해하며 공부할 수 .. 2021. 5. 1.
1.1 프로그램 구조 (feat. 가장 빨리 프로그래밍 실력 늘리는 방법) 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! #배울 용어 (표현)식 Expressions 명령문 Statements : 하나의 문장. 마무리는 ;로 해야함. 여러 표현식이 모여 하나의 명령문이 됨 함수 Functions : 하나의 기능을 수행하는 프로그램 최소 단위. 라이브러리, 표준라이브러리 : 하나의 목적 수행을 위해 필요한 여러 함수들을 모아놓은 zip? #코드 실행원리 프로그램을 실행시킨다는 것은 윈도우나 MAC, 리눅스와 같은 OS(Operating system)에 ~해주세요라고 요청하는 것. 우리가 바로 뭔가를 실행시키는 것이 아니라 O.. 2021. 5. 1.
적응력을 가진 프로그래머가 자유를 누린다.(c++ vs. java) 얼마전 친구와 치열히 이야기했던 주제였다. 나는 c++을 하면 어떤언어든 접근할 수 있다 나는 c++하고 싶다@!라고 했던 나와 그 언어로 하고싶은게 뭔데?! 자바가 훨씬 많이 쓰이고 개발자는 웹개발은 자바가 필수야@!!!라고 했던 친구. 결국에는 나는 그냥 c++이 하고싶어라며 그럼 서로 다른 걸 배우면서 알려주기로 했다. 프로그래머는 특정 언어에 국한되면 안된다. 어떤 것이든 만들 수 있고, 어떤 것이든 손에 익힐 수 있다는 적응력에 자신감이 있어야 한다. 그런 실력이 있을 때, 엔지니어의 최대 장점인 자유로움을 누릴 수 있다. 로봇을 접점으로 c++을 많이 만났고 그때마다 벽을 느꼈다. 자료구조 수업을 들으면서도 c++을 해야겠다는 생각이 강해졌고 c++을 언젠가는 한번 제대로 파보고자하는 마음을 .. 2021. 5. 1.