Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2015/의사양반/0429: Difference between revisions

From ZeroWiki
imported>최지혁
No edit summary
imported>천준현
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 89: Line 89:
** Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
** Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.


*
* 포인터를 맛보기로 배웠습니다. 오늘, 금요일 얼마나 빡치게 될지 기대가 됩니다. 열심히 하겠습니다.
* 신기한 것(ifdef라던가)과 포인터를 배웠습니다. 참 수업을 들으면 들을수록 스스로 '난 ㅂㅅ이구나~' 라고 느끼게 됩니다. 그런 생각이 드는 만큼 열심히 하겠습니다...  -[[최지혁]]
* 신기한 것(ifdef라던가)과 포인터를 배웠습니다. 참 수업을 들으면 들을수록 스스로 '난 ㅂㅅ이구나~' 라고 느끼게 됩니다. 그런 생각이 드는 만큼 열심히 하겠습니다...  -[[최지혁]]
  *
  *
Line 99: Line 99:
== 천준현 ==
== 천준현 ==


*용어정리
  구조 알아보는 건 찾아서 읽어봤는데 이해가 잘 안되요. 설명 부탁드립니다,
- Line feed :  The character (0x0a in ASCII) which advances the paper by one line in a teletype or printer, or moves the cursor to the next line on a display.
- Carriage return : The control character (0x0D in ASCII, abbreviated as CR) that originally signaled a device to perform a carriage return, but now merely indicates the end of a line of text.
- SIMD : 병렬 프로세서의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다.
&전처리기
#include  헤더파일같은 거 불러올 때 쓴다.
#define  주로 수에 이름붙일 때 쓴다.
#ifdef    정의가 되어있을 때
#ifndef  정의가 안되어있을 때
#endif    위의 두 지시자를 끝마칠 때
위 세개는 중간에 문제가 있는지 없는지 하여튼 구별할 때 자주 쓴다.
&포인터
  int a = 10;                   
  int *p = &a
  int * 요게 포인터이다
* 종류 : 1. 이항연산자 2. 포인터 3. 단항연산자                  *하고 &는 서로 반대이다
call-by-value, call-by-reference
call-by-reference를 이용하여 저장된 값을 서로 바꾸는 걸 할 수 있다.
== 최지혁 ==
== 최지혁 ==


Line 120: Line 143:
   *SIMD : 병렬 프로세서의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다. 벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미디어 분야에 자주 사용된다
   *SIMD : 병렬 프로세서의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다. 벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미디어 분야에 자주 사용된다


(날린거 복구 하느라 부득이하게 이렇게 할게요 ㅜㅜ (최지혁))
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 : 단일 명령어로 복수의 데이터를 처리
== 박인서 ==
== 박인서 ==
=== 전처리기 내용 요약 ===
=== 전처리기 내용 요약 ===

Latest revision as of 05:53, 1 May 2015

참여자 명단

의사 장용운 11학번 출석
환자 천준현 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라던가)과 포인터를 배웠습니다. 참 수업을 들으면 들을수록 스스로 '난 ㅂㅅ이구나~' 라고 느끼게 됩니다. 그런 생각이 드는 만큼 열심히 하겠습니다... -최지혁
*


숙제 제출

천준현

*용어정리
 구조 알아보는 건 찾아서 읽어봤는데 이해가 잘 안되요. 설명 부탁드립니다,

- Line feed :  The character (0x0a in ASCII) which advances the paper by one line in a teletype or printer, or moves the cursor to the next line on a display.
- Carriage return : The control character (0x0D in ASCII, abbreviated as CR) that originally signaled a device to perform a carriage return, but now merely indicates the end of a line of text.
- SIMD : 병렬 프로세서의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다.
&전처리기
#include  헤더파일같은 거 불러올 때 쓴다.
#define   주로 수에 이름붙일 때 쓴다.
#ifdef    정의가 되어있을 때
#ifndef   정의가 안되어있을 때
#endif    위의 두 지시자를 끝마칠 때
위 세개는 중간에 문제가 있는지 없는지 하여튼 구별할 때 자주 쓴다.


&포인터 
 int a = 10;                    
 int *p = &a
 int * 요게 포인터이다
* 종류 : 1. 이항연산자 2. 포인터 3. 단항연산자                   *하고 &는 서로 반대이다
call-by-value, call-by-reference
call-by-reference를 이용하여 저장된 값을 서로 바꾸는 걸 할 수 있다.

최지혁

 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이라 한다. 이걸 하는 방법은 포인터를 이용해서 데이터를 넣고 뺀다.
 
 *queue - push/pop : 메모리에 먼저 들어온(push) 것 부터 나가는(pop), 선입선출방식이다. 

 *line feed : 아스키 코드에서 16진수로 0A 이다. 기능은 커서를 현재 행의 다음 행으로, 즉 아래로 내리게 하는 것이다.

 *carriage return : 아스키 코드에서 16진수로 0D 이다. 기능은 커서를 현재 행의 맨 좌측으로 옮기게 하는 것이다.
 
 *SIMD : 병렬 프로세서의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다. 벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미디어 분야에 자주 사용된다

박인서

전처리기 내용 요약

  • 빌드란 소스코드를 실행파일로 만들 때 필요한 작업으로 전처리, 컴파일, 링크가 있다.
  • 이중에 전처리는 필요한 파일을 좀더 .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(메모리 주소를 넘김)

용어조사

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




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