[[TableOfContents]] = ì°¸ì—¬ìž ëª…ë‹¨ = || ì˜ì‚¬ || 장용운 || 11학번 || ì¶œì„ || ||<|3> í™˜ìž || 천준현 ||<|3> 15학번 || ì¶œì„ || || ìµœì§€í˜ || ì¶œì„ || || ë°•ì¸ì„œ || ì¶œì„ || = 수업 = == ì§„í–‰ == 1. 장소 : 6층 학회실 2. 시간 : 11시 ~ 13시 == ë‚´ìš© == '''7ê°•. ì „ì²˜ë¦¬ê¸°ì™€ I/O''' ''- I/O는 불필요하다 íŒë‹¨ë˜ì–´ ìƒëžµí•¨'' * ì „ì²˜ë¦¬ê¸°ê°€ ëì£ ? * 너를 define으로 임명해주마 * ë‚´ì•ˆì— ë„ˆ 있다 include * ì „ì²˜ë¦¬ê¸° 매í¬ë¡œ * ifdef, ifndef, endif * 프로ì 트 빌드 ê³¼ì • â—‹ ì „ì²˜ë¦¬-컴파ì¼-ë§í¬ ê³¼ì • â—‹ í—¤ë”ì˜ ëª©ì ê³¼ ì›ë¦¬ â—‹ ì½”ë“œì˜ ë¶„ë¦¬ì™€ 재사용 â—‹ ë§í¬ '''9ê°•. ì´ê²Œ ë§ë¡œë§Œ ë“£ë˜?''' * í¬ì¸í„° * 메모리 주소 í‘œí˜„ë°©ì‹ * &ì—°ì‚°ìž * í¬ì¸í„° 변수와 ìžë£Œí˜• * ë”블 트리플 ì¿¼ë“œë¼ íŽœíƒ€! ì†ê°€ë½ì§ˆì—는 ëì´ì—†ë‹¤ * Call by value와 Call by reference = 코드 = == ì˜ˆì œ1 == {{{ #include <stdio.h> #pragma warning(disable:4996) #define DEBUG #define PI 3.14 int main(void) { printf("PI = %f\n", (float)PI); #ifdef DEBUG printf("ì´ ë¬¸ìž¥ì€ ë””ë²„ê·¸ ì¤‘ì¼ ë•Œì—ë§Œ ì¶œë ¥ë©ë‹ˆë‹¤."); #endif return 0; } }}} == ì˜ˆì œ2 == {{{ void swap(int*, int*); void swap(int* pa, int* pb) { int c; c = *pa; *pa = *pb; *pb = c; } }}} = ìˆ™ì œ = 1. ì´ íŽ˜ì´ì§€ì— 후기 작성하기! 2. 오늘 공부한 ê°œë… ìˆ˜ì—… 페ì´ì§€ì— ì •ë¦¬í•˜ê¸°! 3. ë‹¤ìŒ í”„ë¡œê·¸ëž˜ë° ìš©ì–´ë“¤ì˜ ëœ» 조사하기. Stackê³¼ Queueì˜ ì—°ì‚°ì€ ë™ìž‘ì„ ì´í•´í•´ì•¼í•¨ * Stack -> push, pop ì—°ì‚° * Queue -> push, pop ì—°ì‚° * Line feed * Carriage return * SIMD = 후기 = * '''후기 작성 ìš”ë ¹''' : 후기는 F4(ThreeFs + Future Action Plan)ì— ë§žê²Œ 작성해주세요. * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, ëŠë‚€ ì , ê¹¨ë‹¬ì€ ì , ì•žìœ¼ë¡œì˜ ê³„íš. * * ì‹ ê¸°í•œ 것(ifdefë¼ë˜ê°€)ê³¼ í¬ì¸í„°ë¥¼ ë°°ì› ìŠµë‹ˆë‹¤. ì°¸ ìˆ˜ì—…ì„ ë“¤ìœ¼ë©´ 들ì„ìˆ˜ë¡ ìŠ¤ìŠ¤ë¡œ '난 ã…‚ã……ì´êµ¬ë‚˜~' ë¼ê³ ëŠë¼ê²Œ ë©ë‹ˆë‹¤. 그런 ìƒê°ì´ 드는 ë§Œí¼ ì—´ì‹¬ížˆ í•˜ê² ìŠµë‹ˆë‹¤... -[최지í˜] * ---- = ìˆ™ì œ ì œì¶œ = == 천준현 == == ìµœì§€í˜ == {{{ 2. * 빌드: 소스코드ì—서 실행 exe로 만들때 ì „ì²˜ë¦¬,컴파ì¼,ë§í¬ë¥¼ 하는 것 * #ì´ ë¶™ëŠ” ê²ƒì€ ëª¨ë‘ ì „ì²˜ë¦¬ë¥¼ ì´ìš©í•œë‹¤ (include define ifdef endif ...) *í¬ì¸í„°ì—ì„œì˜ * ê³¼ & : * - 1. *a 로 aì˜ ë©”ëª¨ë¦¬ ì£¼ì†Œì— ì ‘ê·¼ & - 2. data*로 ìžë£Œí˜• ë’¤ì— ë¶™ì–´ ì´ê²Œ í¬ì¸í„°ìž„ì„ ì•Œë ¤ì¤Œ *call by value/reference : value는 ë³€ìˆ˜ì— ì €ìž¥ëœ ê°’ì„ ë¶ˆëŸ¬ 오는 것, 그래서 ì›ëž˜ ë³€ìˆ˜ì˜ ê°’ì€ ë³€í•˜ì§€ 않는다. reference는 ë³€ìˆ˜ì˜ ì£¼ì†Œë¥¼ 불러 오는 것, 주소로 ì§ì ‘ 가서 ë³€ìˆ˜ì˜ ê°’ì„ ë°”ê¿€ 수 있다. 3. *stack -push/pop : stackì€ ì„ í˜•êµ¬ì¡°ë¼ ë§¨ ëì˜ ë°ì´í„°ë¶€í„° 차례차례 ì†ì„ 댈 수 ë°–ì— ì—†ë‹¤. stackì´ëž€ 메모리ì—서 ë°ì´í„°ë¥¼ 집어넣는 걸 push 꺼내는 걸 popì´ë¼ 한다. ì´ê±¸ 하는 ë°©ë²•ì€ í¬ì¸í„°ë¥¼ ì´ìš©í•´ì„œ ë°ì´í„°ë¥¼ ë„£ê³ ëº€ë‹¤. * }}} == ë°•ì¸ì„œ == === ì „ì²˜ë¦¬ê¸° ë‚´ìš© 요약 === * 빌드란 소스코드를 실행파ì¼ë¡œ 만들 때 필요한 작업으로 ì „ì²˜ë¦¬, 컴파ì¼, ë§í¬ê°€ 있다. * ì´ì¤‘ì— ì „ì²˜ë¦¬ëŠ” 필요한 파ì¼ì„ ì¢€ë” .C파ì¼ì— 넣어주는 ìž‘ì—…ì„ ì˜ë¯¸í•œë‹¤. * ì „ì²˜ë¦¬ê¸°ëŠ” ì „ì²˜ë¦¬ë¥¼ 해주는 문구를 ì˜ë¯¸í•œë‹¤. * 대표ì ì¸ ì „ì²˜ë¦¬ê¸°ëŠ” #include, ~해로운 ì „ì²˜ë¦¬ê¸°ì¸~ #define, #ifdef, #ifndef, #endif ë“±ì´ ìžˆë‹¤. * #ifdef->#define으로 ì •ì˜í•˜ë©´ #endif나올 때 까지 실행, #define으로 ì •ì˜ ì•ˆí•˜ë©´ #endif나올 때 까지 실행X * #ifndef->#define으로 ì •ì˜ ì•ˆí•˜ë©´ #endif나올 때 까지 실행, #define으로 ì •ì˜í•˜ë©´ #endif나올 때 까지 실행X === ~~ì†Œë¬¸ì´ ë¬´ì„œìš´~~ í¬ì¸í„° 내용요약 === * ëª¨ë“ ë©”ëª¨ë¦¬ì—는 메모리 위치(주소)를 ê°€ì§€ê³ ê°’ì´ ì €ìž¥ëœë‹¤. * í¬ì¸í„° : ì €ìž¥í•˜ëŠ” ê°’ì´ ë©”ëª¨ë¦¬ ì£¼ì†Œì¸ ìžë£Œí˜•, 변수 * ì •ì˜) int *p=&a;->ì •ìˆ˜ aë¼ëŠ” ê°’ì˜ ì£¼ì†Œê°’ì„ pì— ì €ìž¥ * *ì˜ ì˜ë¯¸-ì´í•ì—°ì‚°ìž, data type, 단í•ì—°ì‚°ìž * *p는 a와 ì™„ì „ ê°™ìŒ * *와 &는 ì™„ì „ 반대 * &(&a)는 쓰는게 불가능 * but **ì€ ê°€ëŠ¥->ë”블 í¬ì¸í„° * ***, **** ë“±ì´ ëª¨ë‘ ë‹¤ 가능->다중í¬ì¸í„°~ê³ í†µë°›ì„ ë“¯~ * call_by_value(메모리 주소를 안 넘김) vs call_by_reference(메모리 주소를 넘김) ---- ----------------------------------- [새싹êµì‹¤/2015] [새싹êµì‹¤/2015/ì˜ì‚¬ì–‘ë°˜]