윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 22. 구조체와 사용자 정의 자료형1.

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

노인복지론 담당교수 : 최 병태 교수님 학과 : 보건복지경영학과 학번 : 이름 : 김 태인 날짜 :
1. 던전 디자인 개요_1 1. ‘던전’ 룬스톤은 던전 한 층에도 여러 개가 존재하며, 각 룬스톤 마다 영향을 미치는 범위가 설정되어 있다. 룬스톤이 영향을 주는 범위에 일정시간 사용자가 위치해 있게 되면 사용자 캐릭터는 ‘유령화’ 되어 버리기 때문에, 사용자는.
제 11 장 구조체.
미국경제의 신용위기가 한국경제에 미치는 영향
TOTAL BI SOLUTION 낚시카페 솔루션 1차
Part 12 구조체와 공용체 ©우균, 창병모 ©우균, 창병모.
Chapter 12 구조체와 열거형 구조체 열거형.
8. 객체와 클래스 (기본).
C 10장. 함수의 활용 #include <stdio.h> int main(void) { int num;
Chapter 03 배열, 구조체, 포인터.
구조체 struct 구조체와 함수 구조체의 배열, sizeof 연산자 열거형 enum 형 정의 typedef
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 14. 포인터와 함수에 대한 이해.
자료 구조: Chapter 3 (2)구조체, 포인터
화면(UI) 기반 도메인모델 작성 2014년 8월.
8장 포인터.
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 03. 클래스의 기본.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
14장. 함수 1 01_ 함수의 기본 02_ 인자의 전달.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
Chapter 2 통합 홈택스 부가세 전자신고 방법.
7. 자극과 반응 7-2. 신경계 3. 여러 가지 반응.
제 2 장 변수와 상수.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
Work Progress ’ 나소라, 윤민.
기업지원 제도 주요 내용 안산고용센터 기업지원팀.
13. 포인터와 배열! 함께 이해하기.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 11. 1차원 배열.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
Power Point 2007년 정보화교육 원미구청 총무과 통신전산팀.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
국제의료관광 관련 법, 제도.
Chapter 04 자료 유형.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
제 8장 구조체 Hello!! C 언어 강성호 김학배 최우영.
4장 자료형.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
3장. 클래스의 기본.
C 프로그래밍 기초.
2 배열과 구조.
Part 06 세상을 변화시키는 연산자 안산1대학 디지털정보통신과 임 성 국.
C89(C++03) 프로그래밍 (Part 2) 7 배열 8 변수 범위 9 포인터 10 유도 자료형.
5. 논리적 자료표현 : 구조체.
남아메리카 선교 김수정, 이하정 전희진, 장성경.
자료구조 (Data Structure).
POS System(Point-Of-Sales System)
자바 5.0 프로그래밍.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
2015년 5월 3일.
직장생활 예절 ① - 인사 1.내가 먼저 [인사의 5point] 2.상대방의 눈을 보고 미소지으며 3.상대방에 맞춰서
다문화 사회의 이해 배 상 훈 . 1. 한국사회의 다문화현상 2. 원인과 정책으로 살펴본 다문화 한국사회.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
KS9050 CAT 설정 * 중요 * 버전이 E2.00 일 경우는 반드시 업데이트 하셔야 합니다.
Structures Summary.
국어지도 유아교육과 권수연 김아람 중등특수교육과 박수진 양한솔
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
Chapter 14. 템플릿(Template) 2
세브란스 병원 응급의학과 응급의학과 4년차 오제혁.
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 17. 포인터의 포인터.
3b장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
Chapter 1 인간행동의 이해와 사회복지실천
배열.
11장. 1차원 배열.
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
Presentation transcript:

윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 22. 구조체와 사용자 정의 자료형1

윤성우의 열혈 C 프로그래밍 Chapter 22-1. 구조체란 무엇인가? 윤성우 저 열혈강의 C 프로그래밍 개정판

구조체의 정의 윤성우의 열혈 C 프로그래밍 int xpos; // 마우스의 x 좌표 int ypos; // 마우스의 y 좌표 마우스의 좌표정보를 저장하고 관리하기 위해서는 x좌표와 y좌표를 저장할 수 있는 두 개의 변수가 필요하다. xpos와 ypos는 서로 독립된 정보를 표현하지 않고 하나의 정보를 표현한다. 따라서 이 둘은 늘 함께한다. struct point // point라는 이름의 구조체 정의 { int xpos; // point 구조체를 구성하는 멤버 xpos int ypos; // point 구조체를 구성하는 멤버 ypos }; 구조체를 이용해서 xpos와 ypos를 하나로 묶었다. 이 둘을 묶어서 point라는 이름의 새로운 자료형을 정의! int가 자료형의 이름인것 처럼 point도 자료형의 이름이다. 단, 프로그래머가 정의한 자료형이기에 ‘사용자 정의 자료형(user defined data type)’이라 한다. struct person { char name[20]; // 이름 저장 char phoneNum[20]; // 전화번호 저장 int age; // 나이 저장 }; 개인의 이름과 전화번호 나이 정보를 person이라는 구조체 정의를 통해서 묶고 있다. 배열도 구조체의 멤버로 선언이 가능!

구조체 변수의 선언과 접근 윤성우의 열혈 C 프로그래밍 struct type_name val_name ; 구조체 변수선언의 기본 형태 멤버의 접근방식 struct type_name val_name ; 구조체 변수의 이름 . 구조체 멤버의 이름 struct point pos; struct person man; pos.xpos=20; printf("%s \n", man.name); 구조체 변수 pos의 멤버 xpos에 20을 저장 구조체 변수선언의 예 man의 멤버 name에 저장된 문자열 출력 구조체 변수선언의 결과

구조체 변수의 선언과 접근관련 예제1 윤성우의 열혈 C 프로그래밍 이 예제에서 호출하는 함수 sqrt는 제곱근을 반환하는 함수로써 헤더파일 math.h에 선언된 수학관련 함수이다. 실행결과

구조체 변수의 선언과 접근관련 예제2 윤성우의 열혈 C 프로그래밍 구조체의 멤버라 하더라도 일반적인 접근의 방식을 그대로 따른다. 구조체의 멤버로 배열이 선언되면 배열의 접근방식을 취하면 되고, 구조체의 멤버로 포인터 변수가 선언되면 포인터 변수의 접근방식을 취하면 된다. 실행결과

구조체 정의와 동시에 변수 선언하기 윤성우의 열혈 C 프로그래밍 point라는 이름의 구조체를 정의함과 동시에 point 구조체의 변수 pos1, pos2, pos3를 선언하는 문장이다. 위와 동일한 결과를 보이는 구조체의 정의와 변수의 선언이다. 구조체를 정의함과 동시에 변수를 선언하는 문장은 잘 사용되지 않는다. 그러나 문법적으로 지원이 되고 또 간혹 사용하는 경우도 있다.

구조체 변수의 초기화 윤성우의 열혈 C 프로그래밍 초기화 방식이 배열과 유사하다. 초기화 할 데이터들을 중괄호 안에 순서대로 나열하면 된다. . 실행결과

Chapter 22-2. 구조체와 배열 그리고 포인터 윤성우의 열혈 C 프로그래밍 Chapter 22-2. 구조체와 배열 그리고 포인터 윤성우 저 열혈강의 C 프로그래밍 개정판

구조체 배열의 선언과 접근 윤성우의 열혈 C 프로그래밍 struct point arr[4]; 선언된 배열의 형태 실행결과 길이가 4인 구조체 배열의 선언방법 선언된 배열의 형태 실행결과

구조체 배열의 초기화 윤성우의 열혈 C 프로그래밍 구조체 변수의 초기화 struct person man={"이승기", "010-1212-0001", 21}; 구조체 변수의 초기화 구조체 변수 하나를 초기화하기 위해서 하나의 중괄호를 사용하듯이... struct person arr[3]={ {"이승기", "010-1212-0001", 21}, // 첫 번째 요소의 초기화 {"정지영", "010-1313-0002", 22}, // 두 번째 요소의 초기화 {"한지수", "010-1717-0003", 19} // 세 번째 요소의 초기화 }; 구조체 배열의 초기화 구조체 배열을 초기화하기 위해서 배열요소 각각의 초기화 값을 중괄호로 묶어서 표현한다.

윤성우의 열혈 C 프로그래밍 구조체 배열의 초기화 예제 실행결과

구조체 변수와 포인터 윤성우의 열혈 C 프로그래밍 구조체 point의 포인터 변수 선언 pptr이 가리키는 구조체 변수의 멤버 xpos에 접근 pptr이 가리키는 구조체 변수의 멤버 ypos에 접근 구조체 포인터 변수를 대상으로 하는 포인터 연산 및 멤버의 접근방법 -> 연산자를 기반으로 하는 구조체 변수의 멤버 접근 방법

구조체 변수와 포인터 관련 예제 윤성우의 열혈 C 프로그래밍 실행결과 프로그래머들이 주로 사용하는 연산자이니 -> 연산자의 사용에 익숙해지자. 실행결과

포인터 변수를 구조체의 멤버로 선언하기1 윤성우의 열혈 C 프로그래밍 구조체 변수의 멤버로 구조체 포인터 변수가 선언될 수 있다! 실행결과

포인터 변수를 구조체의 멤버로 선언하기2 윤성우의 열혈 C 프로그래밍 type형 구조체 변수의 멤버로 type형 포인터 변수를 둘 수 있다. 실행결과

구조체 변수와 첫 번째 멤버의 주소 값 윤성우의 열혈 C 프로그래밍 구조체 변수의 주소 값과 구조체 변수의 첫 번째 멤버의 주소 값은 일치한다. 응용 프로그램 분야에서는 이 사실을 이용해서 프로그램을 작성하기도 한다. 실행결과

Chapter 22가 끝났습니다. 질문 있으신지요?