1. printf 함수 #include int main(void) { printf("Be happy"); printf("My friend"); return 0; } 파이썬에 print, js에 console.log 가 있다면 C에는 printf 함수가 있다. #include 이 헤더파일을 불러와야 한다. 여기서 stdio 는 Standard input output 의 약자로 표준 입출력을 의미한다. printf는 print formatted의 약자로 일정한 형식에 따라 출력한다는 의미이다. 기본적으로 printf에 변환문자를 설정하지 않으면 문자열을 출력한다. 더보기 [실행결과] Be happyMy friend 파이썬에 print, js에 console.log과는 다르게 기본적으로 개행을 하지 않는다. ..
0. C프로그램의 입문코드 #include /* 여기부터 여기까지 주석 */ int main(void){ printf("hello world!"); // 시작은 hello world! return 0; } 1. Main 함수 C 언어로 만드는 프로그램은 함수로 만들어지며 여기서 함수는 일정한 기능을 수행하는 코드 단위라고 한다.(출처 : 책 내용) 그 중에서 단연 가장 중요한 함수는 main 이라는 이름을 가진 함수다. (c++, java도 마찬가지) main 함수는 가장 먼저 실행되고 가장 나중에 종료되는 함수로써 내가 작성한 코드의 시작과 종료를 담당한다. 함수는 머리(Head)와 몸통(Body)로 이루어져 있는데, 아래 처럼 머리를 함수 원형(Function prototype)이라고 부른다. int..
CS특강 #3 Bool 연산 & 논리 게이트 Binary(2진표현) 2가지 전기적인 상태로 정보 표현이 가능하다. 위 방법을 Binary라고 부른다. 통상적으로 전기가 통하면 True, 숫자로 1로 표현하고 전기가 통하지 않으면 False, 숫자로 0으로 표현한다. 주의할 점으로 위 표현들은 같은 신호들을 우리가 받아들이기에 표현한 방식이라는 점에 유의해야한다. ++ 전기를 끊거나 연결하는 것 이외에도 다른 수준의 전류를 허용한다고 한다. (초기 전자 컴퓨터에는 3진법을 사용하거나 5진법을 사용할 수도 있었다고 함) 하지만 신호끼리 가까우면 섞일 우려가 있어 가능한 한 두개의 신호를 멀리 배치하여 명확한 신호로서 사용하는 것이 좋은데 그것이 바로 Binary이다. (사실 이 부분은 명확히 무슨 뜻..
1. 메모리 누수란? 개인적으로 필자가 cpp를 처음 공부할 때 이해하기 어려운 개념중에 하나였다. 메모리가 샌다는거 자체가 무슨말인데?? 메모리가 액체야? 그래서 새면 어떻게 되는건데??? 결론부터 말하면 메모리누수란 "프로그램이 동적으로 할당한 메모리를 반환하지 않고 계속해서 쌓이는 현상" 을 말한다. 직관적으로 설명하면 여러분들한테 "배낭" 이라는 메모리가 있다고 가정하자. (여러분은 집에서 출발한다!!!) 정적과 동적은 따로 글을 쓸 필요가 있지만 여기서 간단하게만 설명을 하면 정적으로 배낭에다 물건을 넣는 행위 == 여러분이 집에서 나올 때 필요할 것 같은거 미리 정해서 챙겨나오는 것 동적으로 배낭에다 물건을 넣는 행위 == 길을 걸으면서 그때 그때 상황에 맞춰 길에 있는거 주워다 배낭에다 넣..
1. 하드코딩이란? 하드코딩은 코드내에 직접 값을 고정적으로 지정하는 것을 말한다. 주로 값, 구문, 경로 3가지가 주요하다. 간단한 예시를 통해서 보면 #python print("hello world!") 여기서 우리는 "hello world!" 를 출력하도록 고정적으로 지정해줬다. 이렇게 되면 다른 메세지를 출력하고 싶으면 코드 자체를 수정해줘야한다. (ex) print("goodbye world!") 다른 예시로는 //JAVA int discount = 10; totalPrice = originalPrice - (originalPrice * (discount / 100)); 이런 코드가 있다고 가정하자 여기서 우리는 상품의 할인율을 10%로 강제하여 discount 라는 변수에 할당해주었다. 마찬가..
0. 찾아보게 된 계기 vscode 같은 에디터를 사용하다보면 아래 이미지와 같이 붉은 밑줄등으로 내 코드의 문법상 오류나 도달할 수 없는 값 등을 알려주는 경우가 있다. 컴파일러든 인터프리터든 난 코드를 실행시키거나 컴파일한 적이 없는데, 어떻게 가능한 건지 궁금했었다. 에디터는 어떤 원리로 내 코드를 감시하는 거지? 실시간으로 나 몰래 실행시키나? 찾아보니 린터(linter) 다른 말로는 린트(lint) 라는 도구가 내가 작성한 코드를 정해진 규칙에 맞게 검사해주고 있다는 것을 알았다. 사실 위 경우는 특별한 린터를 설치했다기보다는 vscode가 제공하는 기본 문법검사기가 찾아준 것이지만 위 검사기 또한 간단한 린터로 볼 수 있다고 한다. 1. 린터란? 다양한 정의들이 많지만 결국 요약하면 "코드를 ..