반응형

1. 형 변환


형 변환이라는 것을 알아보자.


double a = 3.3은 a가 현재 double형으로 3.3을 가지고 있게 된다.


이를 int형으로 변환 시키기 위해서는 int b = (int)a;라고 하면 b에는 (int)3.3인 3이 들어가게 된다.


double에서 int로 형 변환을 시키면 무조건 내림으로 대입되게 된다.


char c = (char)49; 를하고 출력해보자.


이렇게 하면 c는 1이 출력될 것이다. 그 이유는 아스키 코드표에서 49는 숫자 '1'을 의미하기 때문이다.


이를 이용하여 다양한 연산, 형식 지정에 이용해보자.



2. typedef


typedef는 별명을 붙여주는 것과 똑같다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
typedef double db;
typedef long long ll;
typedef struct STUDENT_INFO {
    int age;
    char name[20];
}STU;
 
int main()
{
    db a = 1.1;
    ll b = 2030123;
    STU c = { 11"Crocus" };
 
    printf("%lf %lld %d %s", a, b, c.age, c.name);
    return 0;
}
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
Crocus


위와 같이 double를 db로 별명을 지어 줄 수 있고 long long을 ll로 별명짓기가 가능하고 심지어 struct도 별명을 지을 수 있다.


문자가 길어질 때 typedef 를 활용하여 간소화시켜보자.



3. 헤더파일 소개



#include <math.h>


math.h에는 다양한 수학 공식을 쓸 수 있는 함수들이 내장되어있다.


abs() :: 절대값을 구할 때 이용

pow() :: 제곱승을 구할 때 이용하는 함수

ceil() :: 올림을 해주는 함수

floor() :: 내림을 해주는 함수

round() :: 반올림을 해주는 함수

log2() :: log2값을 구해주는 함수

sin, cos, tan :: 삼각함수를 구해주는 함수

** 참고 **

acos(-1)은 π와 같다.


따라서 #define PI acos(-1) 혹은 const double PI = acos(-1);로 이용할 수 있다.


** 여기서 const의 의미 **


const가 붙은 변수는 값을 더이상 변경 할 수 없게 된다.


특별한 내용은 없지만, 어떤 변수의 값이 조작되지 않기 하기 위해 쓸 수 있고


위의 내용처럼 PI같은 것은 고정적이기에 const를 관례적으로 붙이는 경향이 있다.


#include <string.h>


atoi() :: 어떤 숫자로 이루어진 문자열을 숫자로 변환시켜준다. (int형 범위 내에서 가능)

long long 범위는 atoll을 이용할 수 있다.

strstr() :: 어떤 문자열에서 특정 문자열이 존재하는지 확인해준다. 특정 문자열이 있으면 해당하는 시작 위치 인덱스를, 없으면 -1 반환

strcat() :: 어떤 문자열 뒤에 추가적으로 문자열을 붙여준다.

strcmp() :: 문자열 비교

strcpy() :: 문자열 복사

strlen() :: 문자열 길이


#include <memory.h>


memset() :: 어떤 배열을 초기화 할 때 이용한다.

memcpy() :: 어떤 메모리에 있는 값을 다른 메모리에 있는 곳으로 복사시켜준다.

memmove() :: 위와 상동


#include <stdlib.h>


getchar() :: 단어 하나를 읽는다. 

gets 혹은 gets_s :: 개행 문자가 나올 때까지 문자열을 읽는다






반응형