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 :: 개행 문자가 나올 때까지 문자열을 읽는다
'Tutoring > C' 카테고리의 다른 글
매크로 함수, 파일 입출력 (0) | 2018.02.26 |
---|---|
동적 메모리 할당, 비트연산, 메모리 구조 (0) | 2018.02.26 |
구조체, 함수, 포인터 (0) | 2018.02.26 |
연산자, 조건문, 반복문, 배열 (0) | 2018.02.22 |
변수 선언, 입/출력, 연산, 주석 (0) | 2018.02.22 |