[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Similar documents
목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

KNK_C_05_Pointers_Arrays_structures_summary_v02

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

슬라이드 1

untitled

11장 포인터

Microsoft PowerPoint - chap06-2pointer.ppt

윤성우의 열혈 TCP/IP 소켓 프로그래밍

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

기초컴퓨터프로그래밍

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

금오공대 컴퓨터공학전공 강의자료

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

Microsoft PowerPoint - chap11-포인터의활용.pptx

Data Structure

Microsoft PowerPoint - chap09-1.ppt

PowerPoint 프레젠테이션

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - ch08 - 구조체 (structure) am0845

Microsoft PowerPoint - C_9장 포인터 pptx

02장.배열과 클래스

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

OCW_C언어 기초

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - chap-11.pptx

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - chap06-5 [호환 모드]

14 주차구조체와공용체

Microsoft PowerPoint - chap06-1Array.ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - Chapter_08.pptx

PowerPoint Presentation

Microsoft PowerPoint - chap05-제어문.pptx

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

금오공대 컴퓨터공학전공 강의자료

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

설계란 무엇인가?

C 프로그래밊 개요

설계란 무엇인가?

Microsoft PowerPoint - Chapter 6.ppt

C++ Programming

C 언어 프로그래밊 과제 풀이

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap12-고급기능.pptx

PowerPoint Template

Microsoft PowerPoint - additional01.ppt [호환 모드]

OCW_C언어 기초

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

PowerPoint Presentation

11장 포인터

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - additional06.ppt [호환 모드]

슬라이드 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - C++ 5 .pptx

컴파일러

Microsoft PowerPoint - Chapter_04.pptx

ch15

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - Chapter_09.pptx

Microsoft PowerPoint - 07_(C_Programming)_(Korean)_Composite_Data_Types

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - 04_C_Language_Function

중간고사

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - [2009] 02.pptx

6.1 Addresses and Pointers Recall memory concepts from Ch2 ch6_testbasicpointer.c int x1=1, x2=7; double distance; int *p; int q=8; p = &q; name addre

OCW_C언어 기초

PowerPoint 프레젠테이션

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Microsoft PowerPoint - a10.ppt [호환 모드]

untitled

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - chap-03.pptx

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Slide 1

10장. 구조체

17장 클래스와 메소드

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

Lab 3. 실습문제 (Single linked list)_해답.hwp

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - Lesson2.pptx

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

설계란 무엇인가?

Transcription:

2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며, 반드시함수호출문에의해서만실행 2. 함수의정의 - 함수의이름과 () 괄호로구성 - 머리 (header) 부분 - 명령문이존재할수있는중괄호로구성된몸체 (body) 함수이름 () 변수선언및실행문장들 ; : #include<stdio.h> void sub(); // 함수의선언 void main()... sub(); // 함수호출 void sub() // 호출되는함수 ( 피호출함수 ) 의정의... - 1 -

3. 함수의자료형 ( 되돌려줄값의자료형 ) 함수는어떠한값을자기를호출시켜준함수에게다시되돌려줄수있는기능이있다. 바로이기능이 return( 리턴 ) 이라는기능이다. #include<stdio.h> int cal(); // 함수 ( 피호출함수 ) 의선언 int main() int add = cal(); // cal() 함수의호출및리턴대기 printf(" 덧셈의결과값 : %d\n",add); return 0; int cal() // 정수형리턴정의 int a=20, b=30, add; add = a + b; return add; // add변수를리턴 - 2 -

학습내용 2 : 포인터 1. 포인터 - 포인터는메모리를사용하는또다른방법이다. - 주소연산자로변수가할당된메모리의위치를확인한다. - 포인터로가리키는변수를사용할때간접참조연산자를쓴다. 사용기능 int num; 정수형 num 선언 char *pc 문자형포인터변수 pc 선언 int *pnum 정수형포인터변수 pnum 선언 double *pdnum; 더블형포인터변수 dnum 선언 int *p 정수형포인터변수 p 선언 p = &num 포인터변수 p 에 num의주소값입력 ( 포인터초기화 ) *p = 10 포인터포인터가가르키는변수에 10의값을입력 &100 &101 &102 &103 &104 &105 &106 &107 &108 &109 &110 #include<stdio.h> int main() int num, num2; int *pnum; pnum = &num; num = 30; *pnum = 50; pnum = &num2; return 0; - 3 -

2. 인수를가지는함수 모든함수는함수의호출에의해서만실행된다고하였다. 그러면실행제어권이호출함수에서피호출함수로넘어가게된다. 그리고피호출함수의실행이모두마치게되면다시호출함수에게로실행제어권이넘어가게되는것이다. 이렇게함수와함수끼리는서로서로실행제어권을주고받듯이특정값 ( 변수라든가상수등 ) 서로같이주고받을수있다. &100 &101 &102 &103 &104 &105 &106 &107 &108 &109 &110 &111 &112 &113 &114 &115 #include<stdio.h> int function(int a, int b); // function() 함수의선언 void main() int num; num = 10; swap(mum); int function()(int n1, n2) // function() 함수의정의 printf("%d %d = %d\n", n1, n2); return 0 &116-4 -

3. Call By Value( 값에의한함수호출 ) - C언어에서함수로의데이터전달방법으로는크게실제값을전달시켜주는방식 &100 #include<stdio.h> int function(int a, int b); // function() 함수의 &101 선언 &102 void main() &103 &104 int x, y; &105 x = 10, y = 20; &106 printf("%d %d = %d\n", x, y); &107 swap(x, y); printf("%d %d = %d\n", x, y); &108 &109 &110 int swap(int a, int b) // function() 함수의정의 &111 &112 int temp &113 temp = a; a = b; &114 b = temp; &115 printf("%d %d = %d\n", a, b); return 0 &116-5 -

4. Call By Reference ( 주소에의한함수호출 ) 실제값이존재하는메모리공간의주소를전달해주는방식 주소연산자와포인터연산자를이용해서함수간에주소를전달하는방법 &100 #include<stdio.h> &101 &102 &103 &104 &105 &106 &107 &108 &109 &110 &111 &112 int function(int *a, int *b); void main() int x, y; x = 10, y = 20; printf("%d %d = %d\n", x, y); swap(&x, &y); printf("%d %d = %d\n", x, y); int swap(int *a, int *b) int temp temp = *a; &113 *a = *b; &114 *b = temp; &115 printf("%d %d = %d\n", a, b); return 0 &116 학습내용 3 : 구조체 1. 구조체 - 하나이상의기본자료형을기반으로사용자가임의로정의한자료형의모음 - 서로다른타입을하나의구룹으로묶는것 struct 구조체형이름 데이터형식멤버변수 1; 식멤버변수 2;... ; struct 구조체형이름구조체변수 ; 데이터형 struct point int x; int y; ; - 6 -

멤버변수 : 구조체안에서정의된변수로일반적인변수선언과동일 구조체의멤버로는배열, 포인터변수, 이미정의된다른구조체의변수등모든응용자료형을사용할수있다. 2. 구조체의사용 struct point int x; char y; ; int main() struct point pin; // 객체 pin 선언 p1.x=10; // p1의멤버 x에 10 대입 p1.y= k ; // p1의멤버 y에 x 대입... return 0; 3. 구조체초기화 : 중괄호 ( ) 안의초기값을콤마 (,) 로분리하여대입 struct point int x; double y; ; int main() struct point pin = 10, 10.5; // 객체선언과함께초기화 4. 구조체배열 #include <stdio.h> struct student char name[10]; int kor; int eng; float avg; ; int main() struct student s[3]; - 7 -

5. 구조체포인터 #include <stdio.h> struct student char name[10]; int kor; int eng; float avg; ; int main() struct student s; struct student *p; p=&s; s.kor = 50; p->kor=50; (*p).kor=50; // s를이용한직접표현방식 // *p를이용한간접표현방식 // *p를이용한직접표현방식 학습내용 4 : Atmel Studio 6.2 설치 1. Atmel Studio 6.2 * Studio 란? - http://www.atmel.com/ AStudio6_2_1153 버전 - 8 -

2. Atmel Studio 6.2 설치방법 - 9 -

- 10 -

- 11 -

- 12 -

- 13 -

- 14 -

학습정리 1. 기본적인 C 언어에대해서알아보았습니다. 2. 실습을통하여마이크로프로세서에필요한 C 언어에대하여자세히알아보도록하겠습니다. - 15 -