U E D R , A S I H C RSS

새싹교실/2015/의사양반/0429 (rev. 1.12)

새싹교실/2015/의사양반/0429


1. 참여자 명단


의사 장용운 11학번 출석
환자 천준현 15학번 출석
최지혁 출석
박인서 출석

2. 수업

2.1. 진행

1. 장소 : 6층 학회실
2. 시간 : 11시 ~ 13시

2.2. 내용

7강. 전처리기와 I/O - I/O는 불필요하다 판단되어 생략함
  • 전처리기가 뭐죠?
  • 너를 define으로 임명해주마
  • 내안에 너 있다 include
  • 전처리기 매크로
  • ifdef, ifndef, endif
  • 프로젝트 빌드 과정
    ○ 전처리-컴파일-링크 과정
    ○ 헤더의 목적과 원리
    ○ 코드의 분리와 재사용
    ○ 링크

9강. 이게 말로만 듣던?
  • 포인터
  • 메모리 주소 표현방식
  • &연산자
  • 포인터 변수와 자료형
  • 더블 트리플 쿼드라 펜타! 손가락질에는 끝이없다
  • Call by value와 Call by reference

3. 코드

3.1. 예제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;
}

3.2. 예제2

void swap(int*, int*);

void swap(int* pa, int* pb) {
	int c;
	c = *pa;
	*pa = *pb;
	*pb = c;
}

4. 숙제

1. 이 페이지에 후기 작성하기!
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 다음 프로그래밍 용어들의 뜻 조사하기. Stack과 Queue의 연산은 동작을 이해해야함
  • Stack -> push, pop 연산
  • Queue -> push, pop 연산
  • Line feed
  • Carriage return
  • SIMD

5. 후기

  • 후기 작성 요령 : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요.
    • Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.


  • 신기한 것(ifdef라던가)과 포인터를 배웠습니다. 참 수업을 들으면 들을수록 스스로 '난 ㅂㅅ이구나~' 라고 느끼게 됩니다. 그런 생각이 드는 만큼 열심히 하겠습니다... -최지혁




6. 숙제 제출

6.1. 천준현


6.2. 최지혁


 
 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이라 한다. 이걸 하는 방법은 포인터를 이용해서 데이터를 넣고 뺀다.
 
 *

6.3. 박인서

6.3.1. 전처리기 내용 요약

  • 빌드란 소스코드를 실행파일로 만들 때 필요한 작업으로 전처리, 컴파일, 링크가 있다.
  • 이중에 전처리는 필요한 파일을 좀더 .C파일에 넣어주는 작업을 의미한다.
  • 전처리기는 전처리를 해주는 문구를 의미한다.
  • 대표적인 전처리기는 #include, ~해로운 전처리기인~ #define, #ifdef, #ifndef, #endif 등이 있다.
  • #ifdef->#define으로 정의하면 #endif나올 때 까지 실행, #define으로 정의 안하면 #endif나올 때 까지 실행X
  • #ifndef->#define으로 정의 안하면 #endif나올 때 까지 실행, #define으로 정의하면 #endif나올 때 까지 실행X

6.3.2. 소문이 무서운 포인터 내용 요약

  • 모든 메모리에는 메모리 위치(주소)를 가지고 값이 저장된다.
  • 포인터 : 저장하는 값이 메모리 주소인 자료형, 변수
  • 정의) int *p=&a;->정수 a라는 값의 주소값을 p에 저장
  • *의 의미-이항연산자, data type, 단항연산자
  • *p는 a와 완전 같음
  • *와 &는 완전 반대
  • &(&a)는 쓰는게 불가능
  • but **은 가능->더블 포인터
  • ***, **** 등이 모두 다 가능->다중포인터~고통받을 듯~
  • call_by_value(메모리 주소를 안 넘김) vs call_by_reference(메모리 주소를 넘김)

6.3.3. 용어조사

  • Stack : 데이터를 push하는 곳과 pop하는 곳이 같은 선형구조
  • Queue : 데이터를 push하는 곳과 pop하는 곳이 같은 선형구조
  • push/pop : 데이터를 넣는 것을 push, 데이터를 꺼내는 것을 pop이라 한다.
  • Line feed : 커서의 위치를 아랫줄로 이동
  • Carriage return : 커서의 위치를 맨 앞으로 이동
  • SIMD : 단일 명령어로 복수의 데이터를 처리




Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:58
Processing time 0.0288 sec