반응형

C 48

[C] 프로그래밍 방법의 3가지

출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​순차적 프로그래밍​컴퓨터가 처리해야 할 순서에 따라 기술하는 방식.​한 번에 하나의 작업만을 할 수밖에 없다는 단점이 있지만 프로그래밍의 구조가 간단하고 작성하기도 쉽기 때문에​지금도 종종 사용되고 있다.​​​구조적 프로그래밍​기본적인 개념은 중복되어 사용할 수 있는 기능을 하나로 묶는다는 것이다.​다시 말해, 서로 다른 프로그램이라고 할지라도 같은 기능을 사용해야 할 경우라면 굳이 프로그램마다 이 기능을 위해​똑같은 소스 코드를 생성할 필요 없이, 공통 부분의 소스코드를 만들어 놓고 필요한 프로그램에서 이 코드를 사용하면 된다는 것​이렇게 공통적으로 사용할 수 있는 기능을 묶어놓은 것을 모듈 이라고 한다. C언어에서는 함수라고 부른다.​비슷한 기능을..

C/Study 16:00:29

[C] 컴파일러와 인터프리터의 차이점

출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​인터프리터(Interpreter)도 컴파일러와 비슷한 역할을 한다.​텍스트로 되어 있는 소스 파일을 CPU가 이해할 수 있는 이진 코드로 변환해준다.​그러나 컴파일러가 소스 파일을 번역하여 이진 파일인 오브젝트 파일을 생성하는 것이 비해, 인터프리터는 소스 파일을 한 줄씩 읽어서​이진 코드로 바꾸어 CPU가 바로 실행할 수 있도록 해준다.​이런 특징은 간단한 프로그램의 경우에는 소스 파일을 실행하는 데 컴파일과 링크 등의 과정이 필요없으므로 편리할 수는 있지만,​실행 파일이 생성되지 않으므로 소스 파일을 실행하기 위해서는 항상 인터프리터가 필요하다.​또한, 소스 파일의 첫 번째 줄부터 한줄씩 실행되므로 프로그램의 실행 속도가 컴파일러에 의해 생성된 실..

C/Study 15:54:35

컴파일과 빌드의 차이점

출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​컴파일(Compile)이란, 텍스트 형태로 되어 있는 소스 파일을 기계어 파일(바이너리 파일, 이진 파일)로 만드는 과정을 의미한다.​단순히 텍스트 파일로 되어 있는 것을 해당 프로그래밍 언어의 문법에 맞는지 검사하여 특별한 오류가 없다면 기계어 파일로 변경해 준다.​그러나 컴파일 된 파일은 실행 파일이 아니다. 다시 말하면 우리가 윈도우 환경에서 실행할 수 있는 .exe 파일의 형태가 아니라는 의미다.​비주얼 C++에서는 .c로 되어 있는 소스 코드를 컴파일하면 .obj 파일로 변환한다. 마찬가지로 리눅스나 유닉스에서도 .c로 되어 있는​소스 코드를 컴파일하면 .o 파일로 변환한다. 이와 같은 obj 파일이나 .o 파일을 일반적으로 오브젝트(Obje..

C/Study 15:48:54

[C] 오류와 경고의 차이점

출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​오류(Error)는 단 하나라도 발생하면, 해당 소스 파일이 컴파일되지 않습니다.​결국 오류를 모두 수정하지 않고서는 컴파일을 완료할 수 없다는 의미가 된다.​​​경고(Warning)는 프로그래머에게 나중에 문제가 발생할지도 모른다는 것을 알려주는 것으로, 컴파일 과정과 실행 파일 생성 과정에는​별 영향을 미치지 않고 무사히 진행된다.​흔히 1~2년 정도 경력을 가진 프로그래머들은 이러한 경고 메시지를 무시하는 경향이 있는데,​이것은 결코 좋은 프로그래밍 습관이 아니다.​오류가 됐던, 경고가 됐던 메시지로 출력된 내용을 보고 오류나 경고가 나타나지 않도록​소스 코드를 올바르게 수정하는 습관을 가져야 한다.​나중에는 무시했던 경고들이 쌓이고 쌓여서 치명..

C/Study 15:45:59

[C] 연산자 우선순위 문제

질문 제목||연산과 &&연산​질문 요약#includeint main(){ int x,y,z,k; x = 1; y = 2; z = 3; k = ++x || ++y && ++z; printf("%d %d %d %d\n",k,x,y,z); return 0;}// 결과 값 : 1 2 2 3 질문 내용결과값이 왜 이렇게 나오는 거죠??​설명좀 부탁드립니다.​​​​​설명연산자 우선순위 문제인데...​일단 C언어의 연산자 우선순위는 다음과 같다.​C언어 연산자 우선순위 바로가기!!!​그리고 이 문제를 알기 위해서는 하나를 더 알아야 하는데...​컴파일러마다 다를수도 있지만 Visual Studio에서는 앞 조건만 봐서 무조건 결과가 참이 나오면 뒷 부분은 연산이 되지 않는다...​무슨 얘기인가 하면 x = 1, y ..

C/Study 2024.12.20

[C] C언어의 장점

출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​​1. 어셈블리어나 이전 코드(기계어 코드)와 같이 하드웨어를 프로그래밍 할 수 있는 기능을 갖추고 있으면서도 인간이 이해하기 쉬운 고급 언어에 속한다는 점.​2. 이전의 언어들에 비해 매우 다양해진 연산자들. 물론 C언어 이후부터 등장한 언어들은 C언어를 모델로 하여 C언어만큼 다양한 연산자를 갖추고 있다.​3. 쉽게 응용하여 새로운 기능을 만들어 낼 수 있는 유연성. 물론 지금에 와서는 C언오보다는 C++이나 자바와 같은 객체 지향 프로그래밍 언어들의 가장 큰 장점이 되고 있는 부분이다.​4. 운영체제 프로그래밍. 하드웨어 프로그래밍을 비롯한 거의 모든 프로그램 제작이 가능한 범용성을 갖고 있다.​5. C언어로 작성한 프로그램은 윈도우나 유닉스에서..

C/Study 2024.12.20

[C] C프로그래밍이 실행되기까지

출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​​원시 소스 파일을 만든다.​메모장과 같은 텍스트 편집기를 입력한 후 .c라는 확장자로 저장​이 파일은 프로그래머에 의해서 만들어진 원본이라는 점과 실행되지 않는 파일이라는 점에서 원시 파일, 원시 소스라고 부른다.​비주얼 C++에 포함된 자체 텍스트 편집기를 사용해도 됨.​​​컴파일러를 이용해 이진 코드로 바꾼다.​원시 파일을 컴퓨터가 이해할 수 있도록 C프로그램의 소스 코드를 이진 코드로 바꿔주는 프로그램을 필요로 한다.​이런 프로그램을 컴파일러(번역기)라고 한다.​소스 코드를 작성한 후에 컴파일러를 사용하여 소스 코드를 기계어로 번역한다. 이 과정을 컴파일(compile)이라고 하며,​컴파일되어 번역된 파일을 오브젝트(목적 코드)파일 이라고 한다..

C/Study 2024.12.20

[C] C언어의 지시어(헤더파일, 전처리, 매크로)

미리 정의된 매크로https://docs.microsoft.com/ko-kr/cpp/preprocessor/predefined-macros?view=msvc-160 미리 정의된 매크로Microsoft C++ 컴파일러의 미리 정의된 전처리기 매크로가 나열 및 설명되어 있습니다.learn.microsoft.com// 미리 정의된 include 폴더에서 파일을 찾는다.#include // 현재의 소스 코드가 저장되어 있는 폴더에서 먼저 찾고, 파일이 없다면 미리 정의된 include 폴더에서 파일을 찾는다.#include "파일이름"// 컴파일러 오류 메시지를 발생.#error// 파일을 추가한다.#import// Else if#elif// Else#else// 식별자가 정의되어 있지 않으면 참.#ifndef..

C/Reference 2024.12.20

[C] 서식 변환 문자열

https://learn.microsoft.com/ko-kr/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions?view=msvc-170 형식 사양 구문: 'printf' 및 'wprintf' 함수Microsoft C 런타임 'printf' 및 'wprintf' 함수의 형식 지정자 구문을 설명합니다.learn.microsoft.com https://msdn.microsoft.com/ko-kr/library/56e442dc.aspx Format Specification Syntax: `printf` and `wprintf` FunctionsDescribes the format specifier syntax for th..

C/Reference 2024.12.20
반응형