Programming Language(97)
-
열혈 C - Chapter 09 C언어의 핵심! 함수!
09-1 함수를 정의하고 선언하기함수를 정의하는 것은 main함수를 정의하는 것과 비슷하다.함수를 만드는 이유다수의 작은 단위의 함수를 만들어서 프로그램을 작성하면 큰문제를 작게 쪼개서 해결하는 효과를 얻을수 있다. 근데 단순히 이런 이야기로 함수의 전체가 설명되지는 않지만 우선 이 정도로 이해하자. 함수에 대해서 기본적으로 어떻게 경험을 하던간에 main함수를 포함해서 함수의 크기는 작으면 작을 수록 좋다, 함수의 크기가 크다는 것은 함수가 잘못 디자인 되었다고 볼 수 있다. 보통은 내가 작성한 함수는 1000라인이 넘어가! 라고 한다면 이건 자랑할 부분이 아닌것이다.오히려 짧은 라인으로 끝나는 함수일 수록 좋은 함수인 것이다. 그렇기에 불필요하게 큰 함수가 만들어 지지 않도록 주의해야하나 무조건 또 ..
2024.10.02 -
모두의 코드 - 12 - 1, 2, 3. 포인터는 영희이다! (포인터)
12 - 1. 포인터는 영희이다! (포인터)전에도 C언어를 배우면서 포인트를 배울때 이해가 어렵고 머릿속이 복잡해서 놓아버릴 때가 여러번 있었다.이번엔 제대로 배워서 머리에 박아 넣기를 바라면서 시작해보자..!!! 포인트를 이해하기 앞서모든 데이터들은 메모리 상에 특정 공간에 저장되어 있다.각 메모리의 특정한 공간을 방이라고 한다면, 각 방에 데이터들이 들어가는 것이다. 한 방의 크기를 보통 1바이트로 정의 된다.우리가 만약 4바이트 짜리 int형 변수를 정의한다면 메모리 상에 4칸을 차지하게 된다. 프로그램이 작동할때 컴퓨터는 여러 방들에 있는 데이터들을 필요로 하게 된다.그렇기에 어떤 방에서 데이터를 가져올 지 구분하기 위해서 각 방에 주소를 붙여 놓았다.아파트의 호수와 비슷하게 말이다. 예를 들어 ..
2024.09.30 -
모두의 코드 - 10. 연예인 캐스팅(?) (C 언어에서의 형 변환), 11 - 1. C 언어의 아파트 (배열), 상수, 11 - 2. C 언어의 아파트2 (고차원의 배열)
10. 연예인 캐스팅(?) (C 언어에서의 형 변환)C언어에서 변수는 고유의 형(type)을 가진다.동일한 형의 변수끼리 대입, 연산을 하는게 보통인데 가끔씩 프로그래밍을 하다 보면 형이 다른 변수 끼리 대입을 하는 연산이 필요하게 된다.이렇게 형이 다른 변수끼리 대입이나 연산을 하는건 한국에서 달러로 물건을 구매하는것과 비슷하다. 이런 상황을 코드로 확인해보자.컴파일하면서 이런 경고를 출력하나 실행은 가능하기에 그 출력의 결과는\(2\)가 된다. 보면 실제로 데이터의 손실이 발생했다.\( 2.4 \)를 대입했으나 결과는 \(2\)가 나와 소수 부분의 데이터를 소실했다.이는 각 변수들이 메모리 상에 저장되는 특징이 다르기 때문이다.int형 변수는 처음 정의되는 시작부터 메모리상에 오직 정수 데이터만 받아..
2024.09.25 -
모두의 코드 - 6. 만약에...(if 문), 7. 뱅글 뱅글 (for, while), 8. 우분투 리눅스에서 C 프로그래밍 하기, 9. 만약에... 2탄 (switch 문)
6. 만약에...(if 문)자바와 동일함 7. 뱅글 뱅글 (for, while) 자바와 동일함8. 우분투 리눅스에서 C 프로그래밍 하기이번에는 리눅스상에서 C프로그래밍을 하는 방법을 알아보자.먼저 C프로그래밍을 하려면 컴파일러가 있어야 하는데 리눅스에서는 Visual studio 계열을 사용할 수 없다.그렇기에 리눅스용 컴파일러를 개발했는데, 그게 유명한 GCC(GNU Compiler Collection)이다.초기에는 GNU C Compiler였는데 다른 언어들도 컴파일 할 수 있게 되면서 이름이 변경되었다. 대부분의 우분투 배포판에는 GCC가 기본으로 설치되어 있다.터미널에서(본인은 WSL에서 사용했다.) gcc를 입력해보자.\만일 위와 같은 내용이 출력된 경우에는 gcc가 설치되어 있지 않은 상태이다..
2024.09.25 -
모두의 코드 - 5. 문자 입력 받기
5. 문자 입력 받기문자 형식의 변수와 키보드로 부터 입력을 받는 입력에 대해 알아보자. 컴퓨터는 0과 1만 처리하는데 문자를 어떻게 처리할까.문자를 숫자에 대응 시키는 것이다.이걸 ASCII CODE라고 한다.아스키 코드는 아래 표와 같다.10진수ASCII10진수ASCII10진수ASCII10진수ASCII0NULL32SP64@96`1SOH33!65A97a2STX34"66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL39'71G103g8BS40(72H104h9HT41)73I105i10LF42*74J106j11VT43+75K107k12FF44,76L108l13CR45-77M109m14SO46.78N110n15SI47/79O111o16DLE48..
2024.09.24 -
모두의 코드 - 4-1. 계산, 4-2. 컴퓨터가 음수를 표현하는 방법 (2의 보수)
4 - 1. 계산최초의 컴퓨터는 무슨 목적을 갖고 개발이 되었을까?최초의 컴퓨터라고 불리우는 애니악의 경우는 포탄을 발사 했을때 어디에 떨어질지를 계산해서 예측하는 기계였다.결국 컴퓨터는 인간이 하기 힘든 복잡한 계산을 하기 위해서 개발이 된 기계이다. 산술 연산자, 대입 연산자이번엔 C언어에서 컴퓨터에 어떻게 연산 명령을 내리는지 확인해보자. 계산이라고 하면 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 생각하게 된다.코드에서는 여기에 나머지를 계산하는 연산을 포함한 다섯가지를 산술 연산자(Arithmetic Operator)라고 한다. 각각 코드에서 사용하는 연산자는 덧셈 : +뺄셈 : -곱셈 : *나눗셈 : / 나머지 : %로 표현한다. 실 코드를 보면 와 같이 모든 연산을 확인해보면 이렇게 결과를 출력..
2024.09.23