1%! 10%.

독하게 시작하는 C 제12장 - 두 번째

By  | 2018년 2월 1일 | 
재귀호출 <-> "반복문 + Stack" 서로 변경 가능. 재귀호출 사용 이유 : 코드 간결 ( 효율은 낮음 )->반복문으로 바꿔라(for 반복문 + Stack 으로 가능) Stack : 어느 경우 꼭 필요?FILO. 처음 , 끝 (최근, 오래 된 것 구분 할때. EX) Ctrl + z(되돌리기))함수가 call->call->call return<-return(Stack 형태로 구현되었을 때 이상적) 재귀호출 문제점 : Stack Visual C 기준 1MB용량.무한루프, 용량 초과 재귀호출 시 stack overflow로 죽을 수 있다. 문자열 상수 : 상수화된 문자 배열. 이름을 입력받는 경우.고정 길이(메모리) <- 사용자가 입력하는 가변 길이길이를

독하게 시작하는 C 제13장 구조체와 공용체

By  | 2018년 2월 3일 | 
C언어 자료형 : 일정 길이의 메모리에 저장된 정보 해석 방법 배열 : 동일 형식(자료형)의 연속(연접)된 '집합체'->구조체 : 서로 같거나 다른 형식들의 연속된 '집합체'공용체 : 한 형식의 여러 해석방법을 부여하는 문법 typedef struct USERDATA{ unsigned int nHeight; char szName[12]; char szPhone[12]; unsigned char sex;}USERDATA; int main(){ USERDATA a; a.nHeight = 180; strcpy(a.szName,sizeof(a.szName),"Ho-sung"); strcpy(a.szPhone,sizeof(a.szPhone),"123-1234"); a.sex='M'; return 0;}과

독하게 시작하는 C 제14장 파일 입출력

By  | 2018년 2월 4일 | 
파일 입출력 File.mp3,avi, ppt 등 데이터 파일, exe dll 등 실행파일.Usermode에서 커널모드로 진입할 수 있는 인터페이스파일마다 고유의 I/O BUFFER가 있다. HDD 하드디스크 드라이브 -> 자기원판. 플로피디스크 달리기하듯이 원형으로 도는 것 : 트랙(Track)그 구간을 피자 처럼 나눈 것 : 섹터(Sector)FAT 파일 테이블 OS설치 -> File System -> NTFS C,D드라이브 ->Format 해야 섹터 트랙이 나뉘고 관리기능 생김. 1. 데이터, 실행, 텍스트 파일 다루는 방법 -> 파일 시스템 - 커널다루는 방법 : 개방(Open), 폐쇄(Close), 입출력(I/O) FILE -> 논리구조가 '선형'구조 -&g

독하게 시작하는 C 제16장 전처리기

By  | 2018년 2월 8일 | 
전처리기 : compile 전 처리. (cpu의 연산과 무관(오직 compile time에만 연관됨))무엇을 컴파일 전 처리? -> 코드를 변형하는 것을. 선언(~~.h) int nData <-선언(무수히 많이 가능) 및 정의(오직 1회) 헤더(~~.h) : 선언이 들어가 있는 것 #include <~.h> 검색대상 : 컴파일러 설정 상의 시스템 폴더(디렉터리)에서 찾음#include "~.h" 검색대상 : 현재 폴더 #pragma once ?????????? 매크로 : 실제로는 매크로가 아니라 한 행 혹은 구문으로 표기. A 함수 -> B 함수 CALL 하면 비용이 생김여기서 말하는 비용은 : STACK의 증가 매개변수 양매개변수에 덩치큰 것을 주는 것은 별로 좋은게

독하게 시작하는 C 제15장 변수와 상수 고급 이론 - 첫 번째

By  | 2018년 2월 9일 | 
변수와 상수 고급이론 변수의 본질 : 메모리변수, 상수는 모두 자료형 개념이 적용 최적화 -> 문법 이상의 것을 다룸.컴파일러가 소스코드를 최적화 빌드(컴파일 + 링크)Debug mode-> Release mode릴리즈 모드가 되고나서 오류, 죽는 경우왜?? -> 컴파일러 최적화 때문. 최적화 -> 의존성(변수를 기준으로 파악) 연산자 1 a=b + 3; a는 b에 의존성 2 c=a * 2 ; c는 a에 의존성. 1->2 순차적으로 진행해야 함 3 x=10 + y; 4 z=x * y; 3->4 순차적으로 진행해야 함. 1->2, 3->4는 각자 따로.(의존성이 없다.) 그러므로 1->2, 3->4는 동시에 해도 됨(동시성이 있다.)