반응형

C언어(2020년) 33

23. define

#define PI 3.14 이런식으로 자주 쓰는 것을 정의 해 놓을 수 있다. 프로그래밍은 3.14 란 숫자대신에 PI 를 사용하여 연산을 하면되는것이다. #include #define _USE_MATH_DEFINES #include int main() { float a = M_PI; printf("%f\n", a); } #define _USE_MATH_DEFINES #include 를 포함해주면 M_PI 의 값이 정의 되어 있다. #define _CRT_INT_MAX 2147483647 int 의 최대값이 21억 얼마도 이미 정의 되어 있다. 헤더화일이 한번만 컴파일 되도록 하기 위해 다음과 같이 하기도 한다. #ifndef __MyHeader_H__ #define __MyHeader_H__ (헤더 ..

C언어(2020년) 2020.11.04

22. const

const int max = 200; printf("%d\n", max); 이런식으로 변수 int 앞에 const 를 써 주면 선언과 동시에 초기화를 해 줘야 하며, 그 이후에는 값을 바꿀수 없다. 변수란 변하는 숫자를 의미하는데, 이 경우 정확히 말하면 변수가 아니라 상수가 되는 것이다. 즉, 변수의 상수화를 시키기 위해서 const 를 쓴다. 참고) const 는 constant "변함없는" 이라는 뜻의 약자 포인터 변수의 경우 const 를 앞에 붙이는 경우와, 뒤에 붙이는 경우 두가지가 있다. int a = 0; const int* p1 = &a; int* const p2 = &a; p1 의 경우에는 값을 변경할 수 없고(ex *p1 = 1; 하면 에러) 주소는 변경 할 수 있다.(p1++; 나 ..

C언어(2020년) 2020.11.04

21. 구조체

여러가지 정보를 묶어서 처리하기 위해서 구조체가 필요하다. struct Human { char name[50]; int age; char gender; char tel[50]; }; struct Human human; 위와 같이 정의 하고 선언하여 사용한다. 구조체의 초기화 struct Human { char name[50]; int age; char gender; char tel[50]; }; struct Human human = { "leader2333", 99, 'M', "010-000-0000" }; printf("name : %s\n", human.name); printf("age : %d\n", human.age); printf("gender : %c\n", human.gender); prin..

C언어(2020년) 2020.11.03

20. bool 자료형

C 언어는 bool 자료형이 없었다. 그래서 typedef enum {false, true} bool; 이렇게 정의해서 쓰거나 #define FALSE 0 #define TRUE 1 이렇게 정의 해서 썼다고 한다. 시간이 흘러 C++이 나왔고 C++에서는 bool 자료형과 true, false 값을 지원하였다. 그리고 결국 C 언어에서도 불 자료형의 필요성에 계속 제기되면서 C99표준부터는 stdbool.h 헤더파일이 추가되었고, 여기에서 bool 변수가 추가 되었다. // // stdbool.h // // Copyright (c) Microsoft Corporation. All rights reserved. // // The C Standard Library header. // #ifndef _STDB..

C언어(2020년) 2020.11.03

19. 연산자

1. ( ) 연산자 int a = 10; int b = 2; int c = 1; int d = a * (b+c); ( ) 연산자는 연산자 우선순위가 가장 높으므로 b+c 가 먼저 연산 된 후에 a 와 곱해지게 된다. 2. [ ] 연산자 int a[3] = { 0,1,2 }; int b = a[0] + a[1] + a[2]; 배열을 사용할 때 [ ] 연산자가 + 연산자 보다 우선된다는 의미이다. 3. -> . 연산자 새로운 자료형인 구조체를 만든다고 하면 struct A { int a; int b; }; 이와 같이 정의 할 수 있다. 이것은 A 라는 자료형을 새로 만들었다는 의미인데, 그 A 라는 자료형은 int a, int b 를 가지고 있기 때문에 sizeof(A) 로 자료형의 크기를 알아보면 8 바이..

C언어(2020년) 2020.11.03

18. 연산자 우선순위

연산자의 대해 먼저 하나씩 알아본 후에 연산자 우선순위를 다루어야 할까 고민도 했지만, 먼저 전체를 보여주고, 각각의 연산자에 대해 하나씩 알아가 보는것도 좋겠다 싶어서 먼저 연산자의 우선순위 를 언급하고자 한다. 연산자 우선순위란? int a = 10; int b = 20; int c = 30; int total = a + b + c; 가감 연산자 + 의 우선순위는 대입연산자 = 의 우선순위 보다 먼저라는 것이다. 또한 + 연산자와 = 연산자는 오른쪽에서 왼쪽으로 결합된다. int total = a + b + c; int total = a +50; int total = 60; 이렇게 처리 된다는 것이다. + 먼저 처리하고, = 을 처리 한다는 뜻이고, 오른쪽에서 왼쪽으로 결합된다는 뜻이다. 다른 예제를..

C언어(2020년) 2020.11.03

17. 포인터

#include int main() { int* pointer = 0; printf("%d\n", sizeof(pointer)); printf("%d\n", sizeof(int*)); } 포인터 변수를 선언할 때에는 (자료형) * (포인트변수명); 이렇게 선언되어진다. int* pointer; int * pointer; int *pointer; 모두 같은 의미 이다. sizeof() 함수는 크기를 byte 단위로 반환해주는 함수이다. Visual Studio 상단메뉴에서 x86 으로 설정한 후 실행하면 sizeof(pointer) 나 sizeof(int*) 의 값은 4가 된다. 4byte 를 의미한다. x64 로 설정후에 실행하면 sizeof(pointer) 나 sizeof(int*) 의 값은 8이 된다..

C언어(2020년) 2020.11.03

16. RAM 에 대한 고찰

메모리 카드를 RAM 이라고 하는데, RAM 은 Random Access Memory 의 약자이다. 임의 접근 기억 장치 라는 뜻인데, 만약 내 컴퓨터에 RAM 용량이 8Gbyte 라고 해보자. char 는 1byte, int 는 4byte 라고 알고 있는데, 과연 8GByte 는 어느정도일까? 1 bit (1비트) : 1개의 진공관 또는 트렌지스터를 의미함 1개의 전구라고 생각하면 됨. 1 Byte (1바이트) : 8 bit 를 의미함 1 KByte (1킬로바이트) : 1024 Byte를 의미함 1 MByte (1메가바이트) : 1024 KByte를 의미함 1 GByte (1기가바이트) : 1024 MByte를 의미함 1 TByte (1테라바이트) : 1024 GByte를 의미함 우리는 1000 미터를..

C언어(2020년) 2020.11.03

15. 주석

주석은 코드를 설명하기 위해서 필요하다. 주석처리가 되어 있으면, 컴파일러는 주석을 처리하지 않는다. #include int main() { // 배열 공부중... int numArr[10] = { }; for (int i = 0; i < 10; ++i) printf("%d\n", numArr[i]); return 0; } 위와 같은 코드에서 // 라고 주석을 처리해 놓은 줄은 컴파일 되지 않는다. 주석의 종류는 2가지가 있는데 하나는 // 이고 하나는 /* */ 이다. // 은 이 주석기호 이후에 나오는 그 줄을 모두 주석처리 하는것이라면, /* */ 은 /* 주석기호와 */ 주석기호 사이의 내용을 모두 주석처리 하는 것이라고 볼 수 있다. #include int main() { // 배열 공부중.....

C언어(2020년) 2020.11.03

14. 배열

배열은 변수 이름 뒤에 [ ](대괄호)를 붙인 뒤 크기를 설정한다. 그리고 배열을 선언하면서 값을 초기화할 때는 { } (중괄호)를 사용한다. 자료형 배열이름[크기]; 자료형 배열이름[크기] = {값,값,값}; // 크기가 3일경우 값이 3개, 크기가 n 일 경우 값도 n 개 #include int main() { int numArr[10] = { 0,1,2,3,4,5,6,7,8,9 }; printf("%d\n", numArr[0]); printf("%d\n", numArr[5]); printf("%d\n", numArr[9]); return 0; } int numArr[10] = { 0,1,2,3,4,5,6,7,8,9 }; (설명) 인트형 변수 numArr 의 배열 10개를 만들고, 그 내용을 각각 0..

C언어(2020년) 2020.11.02
반응형