제 9 장 구조체와 공용체.

Slides:



Advertisements
Similar presentations
1.1 구조체란 1.2 중첩 구조체 1.3 구조체와 배열 1.4 구조체와 포인터 1.5 구조체와 함수 1.6 공용체와 열거형.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
1 구조체 윤 홍 란 컴퓨터 프로그래밍 2 구조체 정의  구조체란 ? o 서로 다른 형의 변수들을 하나로 묶어주는 mechanism. (cf. 배열 : 같은 형의 변수들을 하나로 묶어주는 mechanism) o 예 : 카드의.
제2장 C 언어의 확장 C++(1).
구조체란 무엇인가 ? 예: 학생관리 프로그램의 각 학생에 대한 기록(record) 구조체는 여러 자료형 변수들의 집합체이다.
Part 12 구조체와 공용체 안산1대학 디지털정보통신과 임 성 국.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
제 9 장 포인터.
제14장 동적 메모리.
-Part2- 제3장 포인터란 무엇인가.
11장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
자료 구조: Chapter 3 (2)구조체, 포인터
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
5장 배열 작성자 : 변재현.
2007 1학기 16 구조체.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
5장. 참조 타입.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
제 3장. C보다 나은 C++ II.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
23장. 구조체와 사용자 정의 자료형 2.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
11장. 1차원 배열.
프로그래밍실습 제 24 강.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
C#.
C언어: 구조체 (Structures).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
C 3장. 변수와 데이터형 #include <stdio.h> int main(void) { int num;
19. 함수 포인터와 void 포인터.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
나만의 자료 형을 만들 수 있다. C는 int, float, char 등의 자료 형을 제공한다.
구조체.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 7 장 배열.
5장 배열과 문자열 C 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
C 프로그래밍 기초.
구조체 배열 실습: 평점이 최고인 학생의 정보를 출력하기
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
제 6 장 함수(functions).
구조체 (Structure).
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
7장. 분기와 반복 01_ 분기 02_ 반복.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
구조체(struct)와 공용체(union)
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 23. 구조체와 사용자 정의 자료형2.
Chapter 11 구조체.
제 4 장 Record.
어서와 C언어는 처음이지 제21장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
13. 포인터와 배열! 함께 이해하기.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

제 9 장 구조체와 공용체

목 차 구조체의 정의와 선언 typedef와 구조체 공용체 구조체와 비트처리

구조체의 정의와 선언(1) 하나의 이름으로 여러형의 변수를 집합화 일종의 레코드 구조체의 선언 멤버 1의 선언문; struct      식별자로서 구조체명 {                 멤버 1의 선언문;                 멤버 2의 선언문;                 멤버 3의 선언문;                       ...                 멤버 n의 선언문;         };

구조체의 정의와 선언(2) 구조체 선언 예와 메모리 구조 struct list { char initial ;            char sex ;            int age ;        };

구조체의 정의와 선언(3) 구조체의 정의 이미 선언된 구조체에 값을 할당하기 위한 것 일종의 변수를 선언하는 것 2가지의 방법이 있음 구조체 선언과 구조체 변수 선언을 동시 수행 struct list {           char sex;           int age;     } a, b, c; 구조체를 선언하고 별도로 정의  struct list a, b, c;

구조체의 정의와 선언(4) 구조체 변수의 초기화 1차원 배열을 초기화하는 방법과 유사  1차원 배열을 초기화하는 방법과 유사 각각의 초기값이 대응 구조체 멤버 자료형과 일치 배열형 멤버의 배열 크기는 절대 생략 불가 구조체 배열 자체의 배열 크기는 생략이 가능 초기화가 이루어지지 않는 경우 0으로 초기화 struct list  a = {'C', 'M', 36};

구조체의 정의와 선언(5) 멤버 변수 접근 정적 변수일 경우 접근연산자 ‘.’ 기호 사용 struct list main_list; main_list.sex='F'; 또 다른 방법으로 '->' 기호를 사용 정의 변수를 포인터를 이용하여 정의했을 경우 struct list *p_a; p_a->sex='F';

구조체의 정의와 선언(6) 구조체 배열과 포인터 구조체 배열 형식 예 struct 태그명 { 멤버 선언문 } 배열 ; 또는           멤버 선언문       } 배열 ;   또는       struct 태그명 배열; 예     sturct list {         char name [10];         char sex;         int  age;     } man [60];     struct list man[60] ;

구조체의 정의와 선언(7) 구조체 배열과 포인터(계속) 구조체 배열(계속) 초기화 형식 struct tag_name  배열  = { { … },                                   { … },                                  { … }, … } ; 예  struct list man []={ { ‘C', ‘M', 36 },                          { 'K', 'F', 33 }                          { 'H', 'F',  8 } } ;

구조체의 정의와 선언(8) 구조체 배열과 포인터(계속) 구조체 배열(계속) 구조체 배열의 메모리 할당(예제 9-4)

구조체의 정의와 선언(9) 구조체 배열과 포인터(계속) 구조체 포인터 원소가 구조체로 된 배열과 포인터에서 배열명은 0번째인 원소의 주소 형식 struct 태그명 *선언자 ; 예 struct man[]; struct man *ptr; ptr=man; man[]의 0번지째 원소의 번지를 포인터 ptr에 지정

구조체의 정의와 선언(10) 구조체 배열과 포인터(계속) 구조체 포인터(계속) 접근 연산자 “.” 사용 (ptr).age “->” 사용 ptr->age

구조체의 정의와 선언(11) 구조체의 중첩 구조체 안에 또 다른 구조체를 선언 예 struct subject { int C;     int OS;     int DS; }; struct student {     char name[10];     long int st_no;     struct subject score;

typedef와 구조체(1) typedef 선언 자료형 이름을 사용자가 임의 설정 할 때 사용 #define 명령어 이용 가능 typedef vs #define typedef는 심볼 명칭의 값으로 자료 type만을 취함 typedef의 기능은 C컴파일러에 의해서 처리 typedef는 #define보다 다양한 형태의 치환이 가능 형식 typedef 자료형 변경할 형; 예 typedef double DWORD;

typedef와 구조체(2) typedef를 이용한 구조체 선언 typedef 다음에 구조체임을 struct 기술 형식 예 typedef struct list man;  man person;

공용체 구조체와 비슷한 형식 선언문자 union 사용 가장 큰 멤버의 메모리를 할당 후 공용 예 메모리 할당 구조 union list { char a, int b, float c} man; 메모리 할당 구조

구조체와 비트 처리 비트 단위 자료 처리하는 비트 필드(bit field) 기능 이용 ON이나 OFF의 값 메모리의 낭비 형식 struct 구조체명{    멤버1 : 비트길이;            ...            멤버n : 비트길이; }