Programming(72)
-
열혈C - Chapter 11 1차원 배열
내가 모두의 코드에서 갑자기 윤성우님의 열혈 C로 와서 동영상으로 강의를 듣게 된 원인이다.이전에 배열과 포인터를 배울때도 참 어려웠는데 C에서 배열과 포인터에 대한 이해는 정말 몇번을 봐도 이해가 안되는 부분들이 많은것 같다.내가 개발공부를 시작하고 취직을 하고 개발에 대해 조금은 접한 실무자라고 생각했지만 이 포인터 개념을 접하는 순간 머리가 하얘진다그리고 한참은 멀었다는 생각을 하게 되는 원인이 된것도 같다.이제 윤성우님의 배열과 포인터에 대해서 공부해보면서 조금의 근심, 걱정을 날릴 수 있는 해결책이 되었으면 좋겠다. 11-1 배열의 이해와 배열의 선언 및 초기화 방법변수의 선언법과 배열의 선언법은 아래와 같다.//변수의 선언법변수타입 변수명;ex) int num;//배열의 선언법배열타입 배열명 ..
2024.10.03 -
열혈 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