Microsoft PowerPoint - 제13장 구조체
|
|
- 계남 어
- 8 years ago
- Views:
Transcription
1 쉽게풀어쓴 C 언어 Express 제 13 장구조체
2 이번장에서학습할내용 구조체의개념, 정의, 초기화방법 구조체와포인터와의관계 공용체와 typedef 구조체는서로다른데이터들을하나로묶는중요한도구입니다.
3 자료형의분류 기본자료형 : char, int, float, double 등 자료형 파생자료형 : 배열, 열거형, 구조체, 공용체
4 구조체의필요성 학생에대한데이터를하나로모으려면? 학번 : ( 정수 ) 이름 : 최자영 ( 문자열 ) 학점 : 4.3( 실수 ) int number; char name[10]; double grade; 와같이개별변수로나타낼수있지만묶을수가있나?
5 구조체의필요성 int number; char name[10]; double grade; 구조체를사용하면변수들을하나로묶을수있습니다.
6 구조체와배열 구조체 vs 배열 같은타입의집합 다른타입의집합
7 중간점검 1. 구조체와배열의차이점을이야기해보라. 2. 복소수, 날짜, 화면의좌표, 사각형등을표현하는데필요한데이터를나열해보라.
8 구조체선언 구조체선언형식 struct 태그 { 자료형멤버1; 자료형멤버2;... };
9 구조체선언 구조체선언은변수선언은아님 구조체를정의하는것은와플이나붕어빵을만드는틀을정의하는것과같다. 와플이나붕어빵을실제로만만들릭위해서는구조체변수를선언하여야한다. 구조체 구조체변수
10 구조체선언의예 // x 값과 y 값으로이루어지는화면의좌표 struct point { // 사각형 struct rect { int x; // x 좌표 int x; int y; // y 좌표 int y; }; int width; // 복소수 struct complex { }; int grade; double real; double imag; // 실수부 // 허수부 // 직원 struct employee { }; char name[20]; // 이름 // 날짜 struct date { int month; int day; }; int age; int gender; int salary; // 성별 // 월급 // 나이 int year; };
11 구조체변수선언 구조체정의와구조체변수선언은다르다.
12 구조체의초기화 중괄호를이용하여초기값을나열한다. struct student { int number; char name[10]; double grade; }; struct student s1 = { 24, "Kim", 4.3 };
13 구조체멤버참조 구조체멤버를참조하려면다음과같이. 연산자를사용한다. s1.number = 26; strcpy(s1.name, "Kim"); s1.grade = 4.3; // 정수멤버 // 문자열멤버 // 실수멤버.. 기호는구조체에서멤버를참조할때사용하는연산자입니다.
14 예제 #1 struct student { int number; char name[10]; double grade; }; int main(void) { struct student s; s.number = ; strcpy(s.name," 홍길동 "); s.grade = 4.3; 구조체선언 구조체변수선언 구조체멤버참조 printf(" 학번 : %d\n", s.number); printf(" 이름 : %s\n", s.name); printf( 학점 : %f\n", s.grade); return 0; } 학번 : 이름 : 홍길동학점 :
15 예제 #2 struct student { int number; char name[10]; double grade; }; 구조체선언 학번을입력하시오 : 이름을입력하시오 : 홍길동학점을입력하시오 ( 실수 ): 4.3 학번 : 이름 : 홍길동학점 : int main(void) { struct student s; 구조체변수선언 printf(" 학번을입력하시오 : "); scanf("%d", &s.number); 구조체멤버의주소전달 printf(" 이름을입력하시오 : "); scanf("%s", s.name); printf(" 학점을입력하시오 ( 실수 ): "); scanf("%lf", &s.grade); } printf(" 학번 : %d\n", s.number); printf(" 이름 : %s\n", s.name); printf(" 학점 : %f\n", s.grade); return 0;
16 예제 #3 #include <math.h> struct point { int x; int y; }; int main(void) { struct point p1, p2; int xdiff, ydiff; double dist; 점의좌표를입력하시오 (x y): 점의좌표를입력하시오 (x y): 두점사이의거리는 입니다. p2 (x,y) printf(" 점의좌표를입력하시오 (x y): "); scanf("%d %d", &p1.x, &p1.y); p1 (x,y) } printf(" 점의좌표를입력하시오 (x y): "); scanf("%d %d", &p2.x, &p2.y); xdiff = p1.x - p2.x; ydiff = p1.y - p2.y; dist = sqrt(xdiff * xdiff + ydiff * ydiff); printf(" 두점사이의거리는 %f 입니다.\n", dist); return 0;
17 중간점검 1. 구조체안에선언된각각의변수들을 이라고한다. 2. 구조체의선언에사용하는키워드는 이다. 3. 구조체의태그는왜필요하며, 태그를사용하는경우과사용하지않은경우가어떻게다른가? 4. 구조체의선언만으로변수가만들어지는가? 5. 구조체의멤버를참조하는연산자는무엇인가?
18 구조체를멤버로가지는구조체 struct date { int year; int month; int day; }; // 구조체선언 struct student { // 구조체선언 int number; char name[10]; struct date dob; // 구조체안에구조체포함 double grade; }; struct student s1; // 구조체변수선언 s1.dob.year = 1983; s1.dob.month = 03; s1.dob.day = 29; // 멤버참조
19 예제 #include <stdio.h> struct point { int x; int y; }; struct rect { struct point p1; struct point p2; }; int main(void) { struct rect r; int w, h, area, peri; p1(x,y) p2(x,y)
20 예제 printf(" 왼쪽상단의좌표를입력하시오 : "); scanf("%d %d", &r.p1.x, &r.p1.y); p1(x,y) printf(" 오른쪽상단의좌표를입력하시오 : "); scanf("%d %d", &r.p2.x, &r.p2.y); w = r.p2.x - r.p1.x; h = r.p2.x - r.p1.x; p2(x,y) area = w * h; peri = 2 * w + 2 * h; printf(" 면적은 %d 이고둘레는 %d 입니다.\n", area, peri); } return 0; 왼쪽상단의좌표를입력하시오 :11 오른쪽상단의좌표를입력하시오 :66 면적은 25 이고둘레는 20 입니다.
21 구조체변수의대입과비교 같은구조체변수까리대입은가능하지만비교는불가능하다. struct point { int x; int y; }; int main(void) { struct point p1 = {10, 20}; struct point p2 = {30, 40}; p2 = p1; // 대입가능 if( p1==p2) // 비교 -> 컴파일오류!! printf("p1 와 p2 이같습니다.") } if( (p1.x == p2.x) && (p1.y == p2.y) ) printf("p1와 p2이같습니다.") // 올바른비교
22 중간점검 1. 구조체의변수끼리허용되는연산에는어떤것들이있는가? 2. 구조체태그와구조체변수의차이점은무엇인가? 3. 구조체멤버로구조체를넣을수있는가? 4. 구조체는배열을멤버로가질수있는가?
23 구조체배열 구조체를여러개모은것
24 구조체배열 구조체배열의선언 struct student { int number; char name[20]; double grade; }; int main(void) { struct student list[100]; // 구조체의배열선언 } list[2].number = 27; strcpy(list[2].name, " 홍길동 "); list[2].grade = 178.0;
25 구조체배열의초기화 구조체배열의초기화 struct student list[3] = { { 1, "Park", }, { 2, "Kim", }, { 3, "Lee", } };
26 구조체배열예제 #define SIZE 3 struct student { int number; char name[20]; double grade; }; int main(void) { struct student list[size]; int i; for(i = 0; i < SIZE; i++) { printf(" 학번을입력하시오 : "); scanf("%d", &list[i].number); printf(" 이름을입력하시오 : "); scanf("%s", list[i].name); printf(" 학점을입력하시오 ( 실수 ): "); scanf("%lf", &list[i].grade); } 학번을입력하시오 : 이름을입력하시오 : 홍길동학점을입력하시오 ( 실수 ): 4.3 학번을입력하시오 : 이름을입력하시오 : 김유신학점을입력하시오 ( 실수 ): 3.92 학번을입력하시오 : 이름을입력하시오 : 이성계학점을입력하시오 ( 실수 ): 2.87 학번 : , 이름 : 홍길동, 학점 : 학번 : , 이름 : 김유신, 학점 : 학번 : , 이름 : 이성계, 학점 : } for(i = 0; i< SIZE; i++) printf(" 학번 : %d, 이름 : %s, 학점 : %f\n", list[i].number, list[i].name, list[i].grade); return 0;
27 중간점검 1. 상품 5 개의정보를저장할수있는구조체의배열을정의해보라. 상품은번호와이름, 가격을멤버로가진다.
28 구조체와포인터 구조체를가리키는포인터 포인터를멤버로가지는구조체 순서로살펴봅시다.
29 구조체를가리키는포인터 구조체를가리키는포인터 struct student *p; struct student s = { , " 홍길동 ", 4.3}; struct student *p; p = &s; printf(" 학번 =%d 이름 =%s 학점 =%f \n", s.number, s.name, s.grade); printf(" 학번 =%d 이름 =%s 학점 =%f \n", (*p).number,(*p).name,(*p).grade);
30 -> 연산자 -> 연산자는구조체포인터로구조체멤버를참조할때사용 struct student *p; struct student s = { , " 홍길동 ", }; struct student *p; p = &s; printf(" 학번 =%d 이름 =%s 키 =%f \n", s.number, s.name, s.grade); printf(" 학번 =%d 이름 =%s 키 =%f \n", (*p).number,(*p).name,(*p).grade); printf(" 학번 =%d 이름 =%s 키 =%f \n", p->number, p->name, p->grade);
31 -> 연산자 (*p).number p 가가리키는구조체변수 == p->number p 가가리키는구조체변수의멤버 number p 가가리키는구조체변수의멤버 number
32 예제 // 포인터를통한구조체참조 #include <stdio.h> struct student { int number; char name[20]; double grade; }; 학번 = 이름 = 홍길동학점 = 학번 = 이름 = 홍길동학점 = 학번 = 이름 = 홍길동학점 = int main(void) { struct student s = { , " 홍길동 ", 4.3}; struct student *p; p = &s; printf(" 학번 =%d 이름 =%s 키 =%f \n", s.number, s.name, s.grade); printf(" 학번 =%d 이름 =%s 키 =%f \n", (*p).number,(*p).name,(*p).grade); printf(" 학번 =%d 이름 =%s 키 =%f \n", p->number, p->name, p->grade); } return 0;
33 포인터를멤버로가지는구조체 struct date { int month; int day; int year; }; struct student { int number; char name[20]; double grade; struct date *dob; };
34 포인터를멤버로가지는구조체 int main(void) { struct date d = { 3, 20, 1980 }; struct student s = { , "Kim", 4.3 }; 학번 : 이름 : Kim 학점 : 생년월일 : 1980 년 3 월 20 일 s.dob = &d; } printf(" 학번 : %d\n", s.number); printf(" 이름 : %s\n", s.name); printf(" 학점 : %f\n", s.grade); printf(" 생년월일 : %d년 %d월 %d일\n", s.dob->year, s.dob->month, s.dob->day ); return 0;
35 구조체와함수 구조체를함수의인수로전달하는경우 구조체의복사본이함수로전달되게된다. 만약구조체의크기가크면그만큼시간과메모리가소요된다. int equal(struct student s1, struct student s2) { if( strcmp(s1.name, s2.name) == 0 ) return 1; else return 0; }
36 구조체와함수 구조체의포인터를함수의인수로전달하는경우 시간과공간을절약할수있다. 원본훼손의가능성이있다. int equal(struct student const *p1, struct student const *p2) { if( strcmp(p1->name, p2->name) == 0 ) 포인터를통한구조체 return 1; 의변경을막는다. else return 0; }
37 구조체를반환하는경우 복사본이반환된다. struct student make_student(void) { struct student s; printf(" 나이 : ); scanf("%d", &s.age); printf(" 이름 : ); scanf("%s", s.name); printf(" 키 : ); scanf("%f", &s.grade); 구조체 s 의복사본이반환된다. } return s;
38 예제 #include <stdio.h> struct vector { float x; float y; }; struct vector get_vector_sum(struct vector a, struct vector b); int main(void) { struct vector a = { 2.0, 3.0 }; struct vector b = { 5.0, 6.0 }; struct vector sum; sum = get_vector_sum(a, b); printf(" 벡터의합은 (%f, %f) 입니다.\n", sum.x, sum.y); return 0; } a a + b b
39 예제 struct vector get_vector_sum(struct vector a, struct vector b) { struct vector result; result.x = a.x + b.x; result.y = a.y + b.y; a + b a b } return result; 벡터의합은 ( , ) 입니다.
40 공용체 공용체 (union) 같은메모리영역을여러개의변수가공유 공용체를선언하고사용하는방법은구조체와아주비슷 union example { char c; int i; }; // 같은공간공유 // 같은공간공유
41 예제 #include <stdio.h> union example { int i; char c; }; int main(void) { union example v; 공용체선언 공용체변수선언. char 형으로참조. v.c = 'A'; printf("v.c:%c v.i:%i\n", v.c, v.i ); v.i = 10000; printf("v.c:%c v.i:%i\n", v.c, v.i); int 형으로참조. } v.c:a v.i:65 v.c: v.i:10000
42 ip 주소예제 #include <stdio.h> union ip_address { unsigned long laddr; unsigned char saddr[4]; }; int main(void) { union ip_address addr; addr.saddr[0] = 1; addr.saddr[1] = 0; addr.saddr[2] = 0; addr.saddr[3] = 127; printf("%x\n", addr.laddr); } return 0; 7f000001
43 공용체에타입필드사용 #include <stdio.h> #include <string.h> #define STU_NUMBER 1 #define REG_NUMBER 2 struct student { int type; union { int stu_number; char reg_number[15]; } id; char name[20]; }; // 학번 // 주민등록번호
44 공용체에타입필드사용 void print(struct student s) { switch(s.type) { case STU_NUMBER: printf(" 학번 %d\n", s.id.stu_number); printf(" 이름 : %s\n", s.name); break; case REG_NUMBER: printf(" 주민등록번호 : %s\n", s.id.reg_number); printf(" 이름 : %s\n", s.name); break; default: printf(" 타입오류 \n"); break; } }
45 공용체에타입필드사용 int main(void) { struct student s1, s2; 학번 : 이름 : 홍길동주민등록번호 : 이름 : 김철수 s1.type = STU_NUMBER; s1.id.stu_number = ; strcpy(s1.name, " 홍길동 "); s2.type = REG_NUMBER; strcpy(s2.id.reg_number, " "); strcpy(s2.name, " 김철수 "); } print(s1); print(s2);
46 중간점검 1. 공용체의선언에사용하는 2. 키워드는 이다. 3. 공용체에할당되는메모리의크기는어떻게결정되는가?
47 열거형 열거형 (enumeration) 이란변수가가질수있는값들을미리열거해놓은자료형 ( 예 ) 요일을저장하고있는변수는 { 일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일 } 중의하나의값만가질수있다.
48 열거형의선언 enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; 태그이름 값들을나열 열거형변수선언 enum days today; today = SUN; // OK!
49 열거형이필요한이유 다음과같이프로그램을작성할수있다. int today; today = 0; // 일요일 today = 1; // 월요일 되도록오류를줄이고가독성을높여야된다. 0보다는 SUN라는기호상수가더바람직하다. 의미를쉽게알수있기때문이다. today에 9와같은의미없는값이대입되지않도록미리차단하는것도필요하다.
50 열거형초기화 enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; // SUN=0, MON=1,... enum days { SUN=1, MON, TUE, WED, THU, FRI, SAT }; // SUN=1, MON=2,... enum days { SUN=7, MON=1, TUE, WED, THU, FRI, SAT=6 };// SUN=7, MON=1,... 값을지정하기않으면 0 부터할당
51 열거형의예 enum colors { white, red, blue, green, black }; enum boolean { false, true }; enum levels { low, medium, high }; enum car_types { sedan, suv, sports_car, van, pickup, convertible };
52 예제 #include <stdio.h> enum days { SUN, MON, TUE, WED, THU, FRI, SAT }; char *days_name[] = { "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" }; int main(void) { enum days d; d = WED; printf("%d번째요일은 %s입니다\n", d, days_name[d]); return 0; } 3 번째요일은 wednesday 입니다
53 열거형과다른방법과의비교 정수사용기호상수열거형 switch(code) { case 1: printf("lcd TV\n"); break; case 2: printf("pdp TV\n"); break; } 컴퓨터는알기쉬우나사람은기억하기어렵다. #define LCD 1 #define PDP 2 switch(code) { case LCD: printf("lcd TV\n"); break; case PDP: printf("pdp TV\n"); break; } 기호상수를작성할때오류를저지를수있다. enum tvtype { LCD, PDP }; enum tvtype code; switch(code) { case LCD: printf("lcd TV\n"); break; case PDP: printf("pdp TV\n"); break; } 컴파일러가중복이일어나지않도록체크한다.
54 중간점검 1. 열거형의선언에사용하는키워드는 이다. 2. 열거형은어떤경우에사용되는가? 3. 열거형에서특별히값을지정하지않으면자동으로정수상수값이할당되는가?
55 typedef 의개념
56 typedef typedef 은새로운자료형 (type) 을정의 (define) C 의기본자료형을확장시키는역할 typedef old_type new_type; 새로운자료형을정의 typedef unsigned char BYTE; 기존의자료형 새로운자료형
57 typedef 의예 typedef unsiged char BYTE; BYTE index; // unsigned int index; 와같다. typedef int INT32; typedef unsigned int UINT32; INT32 i; // int i; 와같다. UINT32 k; // unsigned int k; 와같다.
58 구조체로새로운타입정의 구조체로새로운타입을정의할수있다. struct point { int x; int y; }; typedef struct point POINT; POINT a, b;
59 예제 #include <stdio.h> typedef struct point { int x; int y; } POINT; POINT translate(point p, POINT delta); int main(void) { POINT p = { 2, 3 }; POINT delta = { 10, 10 }; POINT result; result = translate(p, delta); printf(" 새로운점의좌표는 (%d, %d) 입니다.\n", result.x, result.y); } return 0;
60 예제 POINT translate(point p, POINT delta) { POINT new_p; new_p.x = p.x + delta.x; new_p.y = p.y + delta.y; } return new_p; 새로운점의좌표는 (12, 13) 입니다.
61 typedef 과 #define 비교 이식성을높여준다. 코드를컴퓨터하드웨어에독립적으로만들수있다 ( 예 ) int형은 2바이트이기도하고 4바이트, int형대신에 typedef을이용한 INT32나 INT16을사용하게되면확실하게 2바이트인지 4바이트인지를지정할수있다. #define을이용해도 typedef과비슷한효과를낼수있다. 즉다음과같이INT32를정의할수있다. #define UINT32 unsigned int typedef float VECTOR[2];// #define으로는불가능하다. 문서화의역할도한다. typedef을사용하게되면주석을붙이는것과같은효과
62 중간점검 1. typedef의용도는무엇인가? 2. typedef의장점은무엇인가? 3. 사원을나타내는구조체를정의하고이것을 typedef을사용하여서 employee라는새로운타입으로정의하여보자.
63 실습 : 평점이높은학생찾기 어느학교나학기가끝나면학과내에서가장평점이높은학생을선발하여서장학금을수여한다. 가장평점이높은학생을찾아서학생의이름과학번, 평점을화면에출력하는프로그램을작성하여보자.
64 실행결과 평점이가장높은학생은 ( 이름 : 홍길동, 학번 : , 평점 : ) 입니다.
65 힌트 학생에대한정보는구조체를이용하여서표현한다. 학생들이여러명 이므로구조체의배열을사용하는것이좋겠다. struct student { int number; char name[20]; double grade; }; struct student list[] = { { , 홍길동 ", 4.2 }, { , 김철수 ", 3.2 }, { , 김영희 ", 3.9 } };
66 소스 #include <stdio.h> struct student { int number; char name[20]; double grade; }; struct student list[] = { { , " 홍길동, 4.2 }, { , " 김철수, 3.2 }, { , " 김영희, 3.9 } };
67 소스 int main(void) { struct student super_stu; int i, size; size = sizeof(list)/sizeof(list[0]); super_stu = list[0]; for(i=1; i< size; i++) { if( list[i].grade > super_stu.grade ) super_stu = list[i]; } printf(" 평점이가장높은학생은 ( 이름 %s, 학번 %d, 평점 %f) 입니다 \n", super_stu.name, super_stu.number, super_stu.grade); }
68 도전문제 학생들에대한정보를사용자로부터받게끔프로그램을수정하라. 최대평점의학생을찾는부분을함수 get_max_stu() 로독립시켜서전체프로그램을다시작상하여보자. 은행입출금시스템을간단히구현하고여기에로그인기능을추가하여보자.
69 Q & A
untitled
자료형 기본자료형 : char, int, float, double 등 파생자료형 : 배열, 열거형, 구조체, 공용체 vs struct 구조체 _ 태그 _ 이름 자료형멤버 _ 이름 ; 자료형멤버 _ 이름 ;... ; struct student int number; // char name[10]; // double height; // ; // x값과 y값으로이루어지는화면의좌표
More information14 주차구조체와공용체
14 주차구조체와공용체 구조체의개념, 정의, 초기화방법 구조체와포인터와의관계 공용체와 typedef 자료형구조 자료형 (data type) 기초자료형 파생자료형 사용자정의자료형 char int float double void 배열포인터구조체공용체 typedef enum 구조체의용도 복잡한형태의데이터란한가지형태의자료가아닌복합형의자료로구성되어있어기본자료형이나배열로는표현하기힘든형태의데이터를말한다.
More information11장 포인터
누구나즐기는 C 언어콘서트 제 11 장구조체 이번장에서학습할내용 구조체의개념, 정의, 초기화방법 구조체와포인터와의관계 공용체와 typedef 구조체는서로다른데이터들을하나로묶는중요한도구입니다. 자료형의분류 기본자료형 : char, int, float, double 등 자료형 파생자료형 : 배열, 열거형, 구조체, 공용체 구조체의필요성 학생에대한데이터를하나로모으려면?
More informationMicrosoft PowerPoint - chap-13.pptx
쉽게풀어쓴 C 언어 Express 제 13 장구조체 컴퓨터프로그래밍기초 구조체란? 자료형 기본자료형 : char, int, float, double 등 파생자료형 : 배열, 열거형, 구조체, 공용체 구조체 : 서로다른자료형을하나로묶는구조 구조체 vs 배열 컴퓨터프로그래밍기초 2 구조체의선언 구조체선언형식 ( 예 ) 학생에대한데이터 태그 (tag) struct
More information이번장에서학습할내용 구조체란무엇인가? 구조체의선언, 초기화, 사용 구조체의배열 구조체와포인터 구조체와함수 공용체 열거형 typedef 구조체는복잡한내용을일목요연하여정리하는데유용하게사용됩니다. 2
제 13 장구조체 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 구조체란무엇인가? 구조체의선언, 초기화, 사용 구조체의배열 구조체와포인터 구조체와함수 공용체 열거형 typedef 구조체는복잡한내용을일목요연하여정리하는데유용하게사용됩니다.
More informationMicrosoft PowerPoint - Lesson12.pptx
2009 Spring Computer Engineering g Programming g 1 Lesson 12 - 제 13 장구조체 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 구조체란무엇인가? 구조체의선언, 초기화, 사용 구조체의배열 구조체와포인터
More informationMicrosoft PowerPoint - ch08 - 구조체 (structure) am0845
2015-1 프로그래밍언어 8. 구조체 (Structure) 2015 년 4 월 11 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 구조체란무엇인가? 구조체의선언, 초기화, 사용
More informationMicrosoft PowerPoint - ch08 - 구조체 (structure) am0845
구조체와함수 구조체를함수의인수로전달하는경우 구조체의복사본이함수로전달되게된다. 만약구조체의크기가크면그만큼시간과메모리가소요된다. int equal(struct student s1, struct student s2) { if( strcmp(s1.name, s2.name) == 0 ) return 1; else return 0; 8-40 구조체와함수 구조체의포인터를함수의인수로전달하는경우
More information기초컴퓨터프로그래밍
구조체 #include int main() { } printf("structure\n"); printf("instructor: Keon Myung Lee\n"); return 0; 내용 구조체 (struct) Typedef 공용체 (union) 열거형 (enum) 구조체 구조체 (structure) 어떤대상을표현하는서로연관된항목 ( 변수 )
More information슬라이드 1
9 장구조체와공용체 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2017-1 st 프로그래밍입문 (1) 2 구조체와공용체 C 언어의확장방법 매크로와라이브러리 사용자정의자료형 ( 배열, 구조체, 공용체 ) // 파생형자료형으로쓰기도함 구조체의필요성 int number; char name[10];
More informationMicrosoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt
변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More information윤성우의 열혈 TCP/IP 소켓 프로그래밍
C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct
More information구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을
(structures) 구조체정의 구조체선언및초기화 구조체배열 구조체포인터 구조체배열과포인터 구조체와함수 중첩된구조체 구조체동적할당 공용체 (union) 1 구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined
More informationuntitled
int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More information02장.배열과 클래스
---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :
More informationuntitled
if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(
More informationMicrosoft PowerPoint - chap09-1.ppt
참고자료 : chapter 9-1. 구조체 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 구조체의형선언과멤버참조 구조체는배열과달리다른형태의자료형도묶어서처리할수있다. 한학생과관련된여러형태의데이터를묶어서처리할수있으므로배열보다효율적이다. - 5 명의학생에대한학번과학점을처리하는예
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More informationuntitled
while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)
More information10장. 구조체
2019-1 st 프로그래밍입문 (1) 10 장. 구조체 박종혁교수 서울과학기술대학교컴퓨터공학과 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr 목차 구조체의기본 구조체의개념 구조체의정의 구조체변수의선언및초기화 구조체변수의사용 구조체변수간의초기화와대입 구조체변수의비교 typedef 구조체의활용 구조체배열 구조체포인터
More information; 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
; struct point p; printf("0이아닌점의좌표를입력하시오 : "); scanf("%d %d", &p.x, &p.y); if (p.x > 0 && p.y > 0) printf("1사분면에있다.\n"); if (p.x < 0 && p.y > 0) printf("2사분면에있다.\n"); if (p.x < 0 && p.y < 0) printf("3사분면에있다.\n");
More information목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2
제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationMicrosoft PowerPoint - chap10-함수의활용.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과
More informationMicrosoft PowerPoint - chap03-변수와데이터형.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.
More informationC 언어 프로그래밊 과제 풀이
과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍
More informationMicrosoft PowerPoint - chap11-포인터의활용.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에
More information중간고사
중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX
More informationK&R2 Reference Manual 번역본
typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationMicrosoft PowerPoint - Chapter_09.pptx
프로그래밍 1 1 Chapter 9. Structures May, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 구조체의개념 (1/4) 2 (0,0) 구조체 : 다양한종류의데이터로구성된사용자정의데이터타입 복잡한자료를다루는것을편하게해줌 예 #1: 정수로이루어진 x,
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationMicrosoft PowerPoint - 제11장 포인터
쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조
More informationPowerPoint 프레젠테이션
오픈소스소프트웨어개발입문 (CP33992) 사용자정의자료형 부산대학교공과대학정보컴퓨터공학부 학습목표 여러자료형변수들의집합체인구조체와공용체의특징과차이점을이해할수있다. 구조체 구조체선언과사용방법을알수있다. 구조체배열을이용한프로그램을할수있다. 구조체포인터를이용한프로그램을할수있다. 구조체자체혹은구조체포인터를매개변수로전달할수있다. 구조체의멤버로서다른구조체를사용할수있다.
More informationMicrosoft PowerPoint - 제11장 포인터(강의)
쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조
More information쉽게 풀어쓴 C 프로그래밍
쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장
More information슬라이드 1
9 장구조체와공용체 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2012-1 st 프로그래밍입문 (1) 2 구조체와공용체 C 언어의확장방법 매크로와라이브러리 사용자정의형 ( 배열, 구조체, 공용체 ) 3 구조체 서로다른형의변수들을하나로묶어주는방법 예제 - 카드 4 구조체 예제 -
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information쉽게 풀어쓴 C 프로그래밍
쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>
쉽게풀어쓴 C 언어 Express 제 17 장동적메모리와연결리스트 이번장에서학습할내용 동적메모리할당의이해 동적메모리할당관련함수 연결리스트 동적메모리할당에대한개념을이해하고응용으로연결리스트를학습합니다. 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것
More information프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음
프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More information<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>
쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력
More informationABC 9장
9 장구조체와공용체 0 구조체와공용체 C 언어의확장방법 - 매크로와라이브러리 - 사용자정의형 ( 배열, 구조체, 공용체 ) 9-1 구조체 서로다른형의변수들을하나로묶어주는방법 예제 - 카드 9-2 구조체 예제 - 카드 - 각카드는고유의무늬와숫자를가짐 구조체를사용하여표현하면효율적 - 카드를위한구조체선언 struct card { int pips; char suit;
More information0. 표지에이름과학번을적으시오. (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
Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x
More informationMicrosoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]
Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨
More information1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문
1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문 1. 표준입출력 표준입출력 입력 : 키보드, scanf 함수 출력 : 모니터, printf 함수문제 : 정수값 2개를입력받고두값사이의값들을더하여출력하라. #include int main(void) int Num1, Num2; int
More informationA Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning
C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용
More informationMicrosoft PowerPoint - chap-11.pptx
쉽게풀어쓴 C 언어 Express 제 11 장포인터 컴퓨터프로그래밍기초 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 컴퓨터프로그래밍기초 2 포인터란? 포인터 (pointer): 주소를가지고있는변수 컴퓨터프로그래밍기초 3 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다.
More informationMicrosoft PowerPoint - chap-06.pptx
쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택
More information쉽게 풀어쓴 C 프로그래밍
누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복
More information< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More informationMicrosoft PowerPoint - chap09.ppt
2010-1 학기프로그래밍입문 (1) 9 장구조체와공용체 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 0 C 언어의확장방법 - 매크로와라이브러리 구조체와공용체 - 사용자정의형 ( 배열, 구조체, 공용체 ) A Book on C, 4ed. 9-1 구조체 서로다른형의변수들을하나로묶어주는방법 예제 - 카드 A Book on C,
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationMicrosoft PowerPoint - chap06-1Array.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More information학습목차 2.1 다차원배열이란 차원배열의주소와값의참조
- Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]
More informationMicrosoft PowerPoint - 07_(C_Programming)_(Korean)_Composite_Data_Types
C Programming 복합데이터유형 (Composite Data Types) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 구조체 구조체와포인터그리고함수 공용체와열거형 2 구조체 구조체 구조체배열 중첩구조체 구조체와포인터그리고함수 공용체와열거형 3 구조체 (Structure) 구조체 (1/8) 서로연관된원소들의집합을하나의이름으로묶어놓은것
More information제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.
제 11 장포인터 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습합니다.
More informationPowerPoint 프레젠테이션
Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More informationMicrosoft PowerPoint - chap12-고급기능.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로
More information제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.
제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터
More informationMicrosoft PowerPoint - chap13-입출력라이브러리.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More information쉽게 풀어쓴 C 프로그래밍
제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력 ( 출력단계 ) 한다. 데이터입력
More informationMicrosoft PowerPoint - 08-C-App-19-Quick-Preprocessor
19. 전처리와분할컴파일 순천향대학교컴퓨터학부이상정 1 학습내용 전처리명령어 #include #define 기호상수 const 분할컴파일 순천향대학교컴퓨터학부이상정 2 전처리과정 전처리 (preprocessor) 전처리명령어는 # 기호로시작 #incldue #define 순천향대학교컴퓨터학부이상정 3 #include (1) 지정된파일을프로그램에삽입 꺽쇠괄호는포함할파일을컴파일러에설정되어있는특정디렉토리에서검색
More information본 강의에 들어가기 전
C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o
More informationint main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \
? 1 int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \n", &a); printf(" b : %x \n", &b); * : 12ff60,
More information03장.스택.key
---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():
More informationMicrosoft PowerPoint - chap-03.pptx
쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 컴퓨터프로그래밍기초 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C프로그램을이루는구성요소들을살펴봅니다. 컴퓨터프로그래밍기초 2 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에
More informationC 프로그래밊 개요
구조체 2009 년 5 월 19 일 김경중 강의계획수정 일자계획 Quiz 실습보강 5 월 19 일 ( 화 ) 구조체 Quiz ( 함수 ) 5 월 21 일 ( 목 ) 구조체저녁 6 시 5 월 26 일 ( 화 ) 포인터 5 월 28 일 ( 목 ) 특강 (12:00-1:30) 6 월 2 일 ( 화 ) 포인터 Quiz ( 구조체 ) 저녁 6 시 6 월 4 일 ( 목
More information프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.
쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 덧셈프로그램 #1 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More information1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 #define _CRT_SECURE_NO_WARNINGS #include #include main() { char ch; printf(" 문자 1개를입력하시오 : "); scanf("%c", &ch); if (isalpha(ch))
More information쉽게 풀어쓴 C 프로그래밍
제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More informationPowerPoint 프레젠테이션
Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2
More information이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2
제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.
More informationPoison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3
Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow
More information<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>
제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked
More informationMicrosoft PowerPoint - Chapter_04.pptx
프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)
More information....201506
TFT 2015 06 7 12 % 5 13 % 6 46 % 3 % 8 % 14 % 33% 2 % 22 % 23 % 29 % 50 % 18 % 5 28 % 8 1 % 4 % 22 % 7 % 26 % 41 % 5 % 5 % 10 % 6 % 10 % 8 % 12 % 12 % 50 % 23 % 10 % 5 22 % 15 % % 3 % 3 % QUIZ mind tip
More informationPowerPoint 프레젠테이션
C 언어포인터정복하기 16 강. 포인터로자료구조화하기 TAE-HYONG KIM COMPUTER ENG, KIT 2 학습내용 구조체멤버와구조체포인터멤버 다른구조체 ( 변수 ) 를가리키는구조체 ( 변수 ) 연결된리스트 의구성및관리 포인터로 연결된리스트 탐색하기 3 중첩구조체에자료저장하기 중첩된구조체변수에값저장하기 struct person { char PRID[15];
More information<C7E0BAB9C0AFBCBA5F323031365F30365F322E696E6464>
2016.06 www.yuseong.go.kr Vol.125 2016.06 www.yuseong.go.kr Vol.125 04 06 08 10 12 14 18 20 21 22 23 24 26 28 29 30 04 06 2016.06 www.yuseong.go.kr Vol.125 14 12 23 4 2016. 06 5 6 2016. 06 7 모이자~ 8 2016.
More information프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어
개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,
More informationMicrosoft PowerPoint - [2009] 02.pptx
원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include
More informationMicrosoft PowerPoint - C++ 5 .pptx
C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성
More informationch15
쉽게풀어쓴 C 언어 Express 제 14 장포인터활용 C Express 이중포인터 이중포인터 (double pointer) : 포인터를가리키는포인터 int i = 10; int *p = &i; int **q = &p; // i 는 int 형변수 // p 는 i 를가리키는포인터 // q 는포인터 p 를가리키는이중포인터 이중포인터 이중포인터의해석 이중포인터 //
More information61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열
- Part2-4 4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열 4.1 포인터와 1 차원배열 4.1 1 (1/16)- - - [4-1.c ] #include int main(void) { int array[3]={10, 20, 30}; } prind("%x %x %x
More information