일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Windows
- Desktop
- 포인터
- 문법
- 백준
- c#
- Tips강좌
- Javascript
- 연산자
- Kotlin
- VS ERROR
- 배열
- 김성엽
- 지식나눔강좌
- 프로그래밍
- 알고리즘
- 함수
- doit코틀린프로그래밍
- Win32
- 티스토리
- CS
- c
- c++
- tipssoft
- 리뷰
- Direct2D
- Tips프로그래밍강좌
- Programming
- 이지스퍼블리싱
- Visual Studio
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
[TIPS 20TH] 02 : 2018.12.31. (월) 본문
1.상수
상수 : 컴파일러와 개발자 사이에서 약속된 값. 따라서 컴파일러는 이 값들을 기준으로 작업을 진행한다. 만일 값의 의미가 바뀌거나 값이 바뀌면 정상적으로 진행이 되지 않을 수 있다.
상수의 종류
숫자형 상수
> 정수
>> 10진, 8진, 16진, 2진(옵션)
>> 이들 상수는 첫자리가 무조건 숫자를 제공해야만한다. 변수와의 혼동을 줄이기 위해서다.
>> 8진수는 과거의 잔재로서, 비트 패리티를 통해 오류검사를 위해 만들어졌다. 2^3이라서 8진수가 되었다.
>> 16진수와 2진수의 변환은 굉장히 편하다.
>> VS에서는 자동으로 16진법 표기로 볼 수 있다.
>> 상수에 대한 자료형을 표한하기 위해 3L, 3LL 1 등으로 작성할 수 있다. 2
>> VS에선 VS의 컴파일러인 MSVC의 전용 자료형으로도 작성할 수 있다. ( 3i64 = long long(64bit, 8BYTE) )
> 실수
>> 10의 n제곱을 표기하기 위해 접미어로 e+n으로 작성한다.
> 문자형 상수
>> 'a', 'b' 등 홑따옴표(싱글 쿼텐션)으로 단일 문자 하나를 묶는다.
> 문자열형 상수
>> "ab" 등 쌍따옴표(더블 쿼텐션)으로 여러 문자(단어 등)를 묶는다. 데이터의 길이는 문자 길이 + 1(마지막 널문자)이다.
2. 변수
변수 : 프로그램이 실행되는 동안 지속적으로 값이 바뀌는 정보. 사용자로부터 받은 데이터를 저장하거나 처리하는 저장공간.
작성 방법
>> 대소문자 구분
>> 문자(언더바 포함, 숫자 제외)로 시작
>> _(언더바) 제외한 다른 특수문자 사용 금지
>> 최대 64자까지 작성 가능
>> 예약어는 사용 불가
>> 모두 숫자로 구성할 수 없음
>> 공백 포함 불가
>> 한글 지양
변수 초기화
>> 변수 사용 전 초기값을 저장해 깨끗하게 만드는 행위
>> 굳이 초기화를 진행할 필요 없이(무조건적인 초기화가 아니라) 코드상 필요한 경우에만 하면 된다.
3. 함수
함수 : 정해진 단위 작업을 수행하도록 명령문을 하나의 그룹으로 묶은 것.
함수의 필요성
>> 작업별 그룹으로 나누어 소스코드를 작성해 관리하기 편함.
>> 직접 보아야하는 코드의 크기를 줄여 소스코드 내용을 쉽게 이해할 수 있도록 도움
작성 방법
>> 함수 이름이 있어야한다.
>> 중괄호로 명령어를 넣는다.
>> 파라미터를 넣을 수 있다.
>> 파라미터 전체에 타입을 기입해야한다.
반환형 함수이름(파라미터1, 파라미터2, ...){
return 반환할 값;
}
>> 개발자가 직접 상황에 맞는 만큼 가변길이의 인자(파라미터)를 받을 수 있다. stdarg.h 사용.
Q. 함수 중간의 return?
>> 이후 변동 가능성이 있는 등, 함부로 지울 수 없는 코드의 실행을 무력화해 주석을 대체한다.
caller : 호출자
callee : 피호출자
__pascal == WINAPI == __stdcall // 파스칼 방식 호출규약
__cdcal // C 호출 규약
>> 호출 방식에 따라 함수 파라미터의 처리 방식 등이 달라진다.
void == 반환값이 없다..?
>> 반환값이 없다기보다 반환형이 정해져있지 않다가 옳은 말이다. 반환형이 정해져 있지 않다는 말은 즉, 확장성이 좋음을 의미한다.
함수 이름 짓기
>> 변수 네이밍과 같다.
3.1. 함수의 원형
함수 원형에서 파라미터는 자료형만 작성할 수 있지만, 작성할 때는 웬만하면 변수 네임까지 함께 작성하는 것이 좋다. 원형만으로 파라미터가 어떤 역할인지 파악할 수 있기 때문이다.
4. 라이브러리
소스를 공개하기 싫을 때 등에서 사용한다.
*.obj 파일을 사용하면 빌드 작업시 모든 소스코드(*.obj)의 코드가 실행 파일에 들어간다. 즉, 프로그램 크기가 커진다.
*.lib 파일을 사용하면 실행파일의 크기가 줄어든다. 단, lib 파일을 만들기 위한 컴파일 시간도 든다.
5. 전처리기
#include
#include "" 더블 쿼텐션으로 작성하면 현재 작업경로를 다 돌도 난 후 없으면 표준 작업경로 검색
#include <> 꺽쇠는 표준 작업경로 검색
절대 경로를 작성할 때는 더블 쿼텐션, 꺽쇠 모두 가능하다.
#define NAME CONSTANT
전처리기 상수, 명령문 치환을 작업하는 문법이다.
매크로 함수 작성이 가능하다.
변화에 대처하는 힘이 강해진다.
6. C 표준 라이브러리
표준 출력
>> putch, putchar 등
>> printf // print format << 문자열 출력함수
TIPS.
상수를 쓰는 습관이 좋은 습관이다.
>> 최적화율이 좋아진다.
'외부활동 > TIPS 20th' 카테고리의 다른 글
[TIPS 20TH] 03 : 2019.01.04. (목) (0) | 2019.01.04 |
---|---|
[TIPS 20TH] 01 : 2018.12.28. (목) (0) | 2018.12.28 |
TIPS 20기 모집 (0) | 2018.11.28 |