반응형

 

1. C 프로그래밍 언어는?

 

1. C 프로그래밍 언어는?

제가 C언어로 IT 분야에서 일을 시작하게 되었고, 그 동안을 뒤돌아 보면서 누군가에게 도움이 되었으면 하는 마음으로 이 Site를 만들었습니다. 다행스럽게도 저의 큰 딸이 IT 분야에서 일하고 있

www.it-note.kr

2. C언어 개발 환경 (실습 환경)

 

2. C언어 개발 환경 (실습 환경)

C언어는 대부분의 OS 환경에서 지원하는 프로그래밍 언어입니다. 이에 따라 C언어를 활용하려는 목적에 따라 개발 환경을 구성할 필요가 있습니다. 그러나 C언어를 우선 배우기 위한 환경 구성이

www.it-note.kr

3. C언어의 컴파일 과정

 

3. C언어의 컴파일 과정

이번에는 C언어의 컴파일 과정을 알아보도록 하겠습니다. 우리가 작성한 C 소스 코드를 컴파일러가 컴파일을 하여 어떻게 실행파일을 만들어 내는 지에 대해서 알아보겠습니다. 기본적인 컴파

www.it-note.kr

4. C 소스 파일 구성

 

4. C 소스 파일 구성

C언어를 구성하는 단위 항목에 대한 용어를 간단히 설명하도록 하겠습니다. 이 들은 향후에 상세하게 다시 설명이 필요합니다. 예약어(keyword, reserved word) - C언어의 문법을 정의하기 위해서 사용

www.it-note.kr

5. 주석문(Comment)

 

5. 주석문(Comment)

프로그램을 개발할 때에 업무 로직에 영향을 주지 않고 메모를 하거나, 특정 부분의 기능을 더 이상 사용하지 않거나 임시로 기능을 막고 싶은 경우가 있을 것입니다. 이 때 사용할 수 있는 것이

www.it-note.kr

6. 식별자 명명 규칙

 

6. 식별자 명명 규칙

C언어에는 함수, 변수, 상수 등에 대해서 명칭(식별자)을 붙입니다. 이들 식별자는 컴파일이 되어 기계어 코드로 변환되면 이름의 의미는 없어지고 함수, 변수, 상수의 위치에 대한 메모리 번지

www.it-note.kr

7. C 프로그래밍의 시작 - 함수  

 

7. C 프로그래밍의 시작 - 함수

C언어에서 가장 중요한 부분의 하나는 바로 함수입니다. 기 정의된 표준 함수의 사용법을 잘 알고 사용하는 것 뿐만 아니라 스스로 함수를 만드는 것도 중요합니다. 함수는 C 프로그램의 시작과

www.it-note.kr

8. 변수와 상수 (정수형)

 

8. 변수와 상수 (정수형)

데이터를 저장하고 관리하는 식별자를 변수(變數: Variable)라고 합니다. 변수는 데이터 type에 맞는 값을 저장할 수 있는 공간을 가집니다. 이들 변수명은 컴파일이 끝나고 나면 변수명은 실제로

www.it-note.kr

9. 변수와 상수 (실수형)

 

9. 변수와 상수 (실수형)

실수형 데이터 타입 소숫점이 있는 데이터를 실수형 데이터 타입이라고 하며, 실수형은 float, double, long double의 형태로 제공됩니다. 실수형 데이터 저장공간의 크기를 기준은 아래와 같습니다. fl

www.it-note.kr

10. 변수와 상수 (문자, 문자열)

 

10. 변수와 상수 (문자, 문자열)

문자형 변수 (Chracter Type) C언어의 문자형은 char형이 있습니다. 이 char형은 1바이트의 문자를 표기할 수 있습니다. char형의 변수 선언은 아래와 같이 변수만 선언, 초기화까지, 또는 여러개의 변수

www.it-note.kr

11. 변수(變數:Variable)와 관련 총정리  

 

11. 변수(變數:Variable)와 관련 총정리

C언어에는 변수 선언과 관련된 많은 예약어(keyword, reserved word들이 있습니다. 많은 개발자들이 많이 사용하는 예약어는 그 의미를 잘 이해하는 데, 가끔 이런 예약어도 있었어?라고 생각하는 것들

www.it-note.kr

12. C언어의 연산자(operator)

 

12. C언어의 연산자(operator)

C언어에서의 식(Expression)은 수학에서의 수식과 비슷합니다. 수학에서 1 + 2 = 3 으로 계산하듯이 C언어에서 비슷한 방식으로 표현을 합니다. C언어에서도 비슷한 방식으로 표현합니다. 예). sum = valu

www.it-note.kr

13. 조건문 (if ~ else if ~ else)    

 

13. 조건문 (if ~ else if ~ else)

if문은 특정 조건이 true이면 처리하고 그렇지 않으면 처리하지 않는 그런 곳에 사용하는 간단한 분기 처리문입니다. if문은 몇 가지 형태로 구성할 수 있는 데, 가장 간단한 것 부터 알아보겠습니

www.it-note.kr

14. 조건문 (switch ~ case) 

 

14. 조건문 (switch ~ case)

switch문 C언어의 대표적인 조건문은 if ~ else 문이 있습니다. 이 if ~ else문은 조건이 주로 특정 범위를 조건으로 검사하는 경우에 많이 사용합니다. 예1). if ~ else 문 int value; ... if(value < 0) { ... } else i

www.it-note.kr

15. 반복문 (for)  

 

15. 반복문 (for)

for문 for문은 대표적인 반복문으로 주로 처리 횟수의 제한이나, 특정 데이터 범위에 대한 처리, 배열 처리 등에 일반적으로 많이 사용합니다. for문의 구조 for (시작값 설정 부분; 비교부분; 증감

www.it-note.kr

16. 반복문 (while)

 

16. 반복문 (while)

while문 while문은 특정 조건을 만족하는 동안 반복해서 수행해야하는 로직을 처리하는 곳에 주로 사용합니다. for문의 for( ; 테스트 조건식; )형태와 사실상 같습니다. while (테스트 조건식) { // 처리

www.it-note.kr

17. 반복문 (do ~ while)  

 

17. 반복문 (do ~ while)

do ~ while문 do ~ while문은 while과 같은 기능을 하지만, 테스트 조건식이 끝에 있는 것만 다릅니다. 이 것이 의미하는 것은 무조건 1회를 실행하고 다음 실행을 할 것인지 여부는 테스트 조건식에 의

www.it-note.kr

18. 배열 (配列: array)  

 

18. 배열 (配列: array)

배열(Array)은 같은 데이터 type을 연속으로 저장하는 방식을 말합니다. 변수 선언 방법 type 변수명[배열크기]; type 변수명[배열크기] = {최기화값1, ... , 초기화값n }; type 변수명[배열크기] = {최기하

www.it-note.kr

19. 포인터(Pointer) - 기초  

 

19. 포인터(Pointer) - 기초

C언어를 배우는 많은 사람들이 이 포인터(Pointer)때문에 C언어 배우기를 포기하는 경우가 가장 많다고 합니다. 다른 언어에서는 보기 쉽지 않은 기능입니다. 사실, java의 경우는 premitive type(boolean,

www.it-note.kr

20. 포인터(Pointer) - Call by value와 Call by Reference  

 

20. 포인터(Pointer) - Call by value와 Call by Reference

C언어에서 함수를 호출하여 결과를 얻는 방법은 일반적으로 return으로 얻는 방법을 가장 많이 사용합니다. int max(int value1, int value2) { return value1 > value2 ? value1 : value2; } 위와 같이 두 데이터중에서

www.it-note.kr

21. 포인터(Pointer) - 동적 메모리 할당

 

21. 포인터(Pointer) - 동적 메모리 할당

C언어에서 Pointer를 사용하는 가장 중요한 것 중의 하나는 동적 메모리 할당을 위한 것입니다. 배열의 경우는 변수의 선언과 함께 크기가 정해집니다. 배열은 얼마 만큼의 데이터를 처리할 지 모

www.it-note.kr

22. 포인터(Pointer)와 배열(Array)  

 

22. 포인터(Pointer)와 배열(Array)

일반적으로 포인터를 사용하는 목적은 동적으로 메모리를 할당하여 사용하기 위해서 사용합니다. 그리고 메모리가 할당된 후에는 배열처럼 사용하면 된다고 이전에 설명하였습니다. int arr[100];

www.it-note.kr

23. 포인터(Pointer) - 다중 포인터

 

23. 포인터(Pointer) - 다중 포인터

배열은 1차원 배열, 2차원 배열, ... 다차원 배열을 선언하여 사용할 수 있습니다. 배열은 차원이 증가할 수록 마치 직선, 면적, 부피처럼 표현이 됩니다. 그래서 배열은 차원이라는 용어로 표현을

www.it-note.kr

24. 포인터(Pointer) - void * 포인터

 

24. 포인터(Pointer) - void * 포인터

C언어는 정확한 데이터 타입을 요구합니다. 그런데, 가끔은 데이터 타입을 정하기 어렵거나 다양한 데이터 타입을 저장해야 하는 경우가 있습니다. 또는 내부적으로는 데이터 타입이 정해졌지

www.it-note.kr

25. 포인터(Pointer) - 함수 포인터

 

25. 포인터(Pointer) - 함수 포인터

프로그램에서 특정 부분의 로직이 유동적이라서, 어떻게 처리해야 할 지는 개발자마다 다르게 처리해야 하는 경우가 있습니다. void *는 어떤 데이터를 처리해야 할 지 모르는 경우라면, 이번에

www.it-note.kr

26. 구조체(struct) - 기초  

 

26. 구조체(struct) - 기초

만약, 학생의 정보를 관리한다면 이름, 학번, 학과, 성별, 생일, 주소등의 정보를 관리할 수 있습니다. 이들을 관리하기 위해서 C언어에서는 char name[30]; // 이름 long no; // 학번 char subject[40]; // 학과

www.it-note.kr

27. 구조체(struct) - 비트 필드(bit field)

 

27. 구조체(struct) - 비트 필드(bit field)

구조체의 기능 중에서 많이 사용하지 않지만, 정수형 데이터를 비트 단위로 나누어서 사용할 수 있는 기능을 제공합니다. 이를 구조체의 bit field라고 합니다. struct 구조체명 { 정수형 멤버명1 :

www.it-note.kr

28. 구조체(struct) - 구조체 내의 구조체

 

28. 구조체(struct) - 구조체 내의 구조체

이전 글에서 구조체는 여러가지의 데이터를 그룹화하는 경우에 사용한다고 하였습니다. 그런데, 구조체 내에 다른 구조체를 멤버로 가질 수 있을까? 가능합니다. struct person { char name[20]; char birth

www.it-note.kr

29. 구조체(struct) - 구조체의 크기와 멤버 변수의 메모리 위치

 

29. 구조체(struct) - 구조체의 크기와 멤버 변수의 메모리 위치

C언어의 데이터 타입은 char, short, int, long, long long, float, double이 있습니다. 이 들이 메모리에서 차지하는 크기는 sizeof연산자를 이용하여 그 크기를 알 수 있습니다. 64bit OS 환경을 기준으로 예를들

www.it-note.kr

30. 공용체(union) - 멤버간의 메모리 공유

 

30. 공용체(union) - 멤버간의 메모리 공유

구조체(struct)는 연관관계에 있는 여러가지 데이터를 그룹화하여 편리하게 사용하는 자료 구조입니다. 이와 비슷하게 사용자 정의 타입으로 union이 있습니다. 구조체와 선언하는 방식은 같고 stru

www.it-note.kr

31. 열거형(enum) - 정수형 상수 그룹  

 

31. 열거형(enum) - 정수형 상수 그룹

상수를 정의하는 방법은 #define을 통하여 상수를 정의하거나, const 예약어를 통하여 선언을 합니다. #define TRUE1 #define FALSE 0 const int SUN = 0; const int MON = 1; const int TUE = 2; const int WED = 3; const int THE = 4;

www.it-note.kr

32. 전처리기(Preprocessor) - 기초  

 

32. 전처리기(Preprocessor) - 기초

C언어에서 전처리 구문은 C 컴파일러가 컴파일을 하기전에 전처리기가 선행으로 처리되는 부분을 말합니다. C언어 작성된 프로그램(*.c)을 컴파일 할때에 전처리기는 전처리 구문을 해석하여 주

www.it-note.kr

33. 전처리기(Preprocessor) - 조건부 컴파일  

 

33. 전처리기(Preprocessor) - 조건부 컴파일

C언어는 java와 달리 시스템이 가능한 프로그래밍 언어입니다. 시스템 프로그래밍 언어라는 말은 시스템 종속적인 언어라는 뜻이므로 다른 시스템에서는 그 시스템에서 컴파일해도 제대로 동작

www.it-note.kr

34. 전처리기(Preprocessor) - Debugging 등을 위한 예약어  

 

34. 전처리기(Preprocessor) - Debugging 등을 위한 예약어

많은 C언어 개발자가 전처리기 예약어나 전처리 연산자를 모르는 경우가 의외로 많습니다. 이를 활용하면 debug나 여러가지 면에서 활용성이 많습니다. 이들은 고급 프로그래머가 되기 위해서는

www.it-note.kr

35. 전처리기(Preprocessor) - 전처리 연산자 

 

35. 전처리기(Preprocessor) - 전처리 연산자

혹시, 전처리 연산자 #을 아십니까? C언어 개발자 중에서 #이 별도의 연산자라는 것을 모르는 분이 너무 많습니다. #은 #include, #if, #define에 앞에 붙여서 전처리기임을 표시하는 데 사용하는 것 아

www.it-note.kr

 

반응형
블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

,