오늘 배운 곳까지 기말고사 시험범위내일하고 다음주 수요일 수업 없음동적인 배열은 위 코드처럼 중간에 크기를 늘려도 된다하지만 두 가지 문제점이 생기는데첫 번째 문제는 원래 저장되어 있던 데이터를 잃어버리게 된다.두 번째 문제는 메모리를 회수하지 않기 때문에 메모리 누수가 발생한다.#include #include #define SIZE 5int main(){ int *original, *copy; int input, s, m, i = 0; original = (int*)malloc(SIZE * sizeof(int)); scanf("%d", &input); while (input != -1000) { s = i / SIZE + 1; if (i > 0 && i % SIZE == 0) { copy = (..
※csv 파일에서 읽어들일 때만 %[^','] 사용 12장 파일입출력 34쪽 이진 파일 부터 그냥 넘어감 [암호화, SDL 과제] 두 가지 -> 14주차에 검사 예정(3주 정도 남음) ● 기말 SDL 프로젝트(기억력 게임)예를 들면 ㄱ, ㄴ, ㄷ ,ㄹ 이 있을 때 랜덤으로 두고사용자가 뒤집어진 ㄱ, ㄴ, ㄷ, ㄹ 을 순서대로 맞추는 게임잘 못 선택했을 경우 보여줬다가 다시 뒤집던지 아니면 아예 보여주지 말던지 옵션을 둘 것아이디어는 몇 개를 두는 건 자기 마음아이디어 한 2,3 개 정도만 하면 될 듯 다음주랑 다다음주 수요일에 안나와도 됨 p =(char *)malloc(100);은 char p[100]; 과 같은 의미 pc = (char*)malloc(2 * sizeof(char)); 은 char..
w 모드는 파일이 있어도 되고 없어도 됨r 모드는 파일이 있어야 함a 모드는 파일이 있어도 되고 없어도 됨● 456쪽 과제프로그래밍 문제 5,6번 ● 암호화 과제※ 대문자는 소문자취급하면 됨※ 복호화할 때는 소문자를 대문자로 변환할 수 없으니 그대로 소문자로 출력되도록 함 코드 : 암호화 코드, 복호화 코드 두 개 필요정렬 : 버블정렬만 사용할 것 배열 1 : a b c d e f g ...배열 2 : b c a e d g f ... 2 4 5 6 7 9 10
구조체 태그 : struct point { ... }구조체 정의 : struct point p1, p2; 구조체 정의 : 메모리에 할당받음구조체 변수에 대입은 가능하다. 위에서 p2 는 {10, 20}의 값을 갖는다. 구조체 변수끼리 비교하는 것은 안됨문자열 안에 값을 넣을 때 strcpy 쓰는 거 잊지말기list[2].name = "홍길동" -> 사용불가1. 복사본이 전달된다. r : 파일 내용 읽기 w : 기존 파일 내용을 지우고 새롭게 쓰기 a : 기존 파일 내용에다가 추가해서 쓰기1. 바이트2. 텍스트, 이진3. fopen4. 파일
과제 : 문자열 10장에서 3 4 5 8 10 번 배열은 동질의 타입의 묶음, 구조체는 서로 다른 타입의 묶음 struct student s1 = {24, "kim", 4.3}; 이런 식으로 초기화하지 않고 struct student s1;s1.number = int형;strcpy(s1.name, "문자열");s1.grade = double형; 이런 식으로 초기화할 수 있다. ※문자열 초기화할 때 s1.name = "choi" 이런 식으로 하면 안되고 strcpy(s1.name, "choi"); 이런 식으로 해야함 1, 3번의 초기화 방식 기억할 것 1. 구조체 멤버2. struct3. 뒷부분에서 공부할 예정4. 선언만으로는 만들어지지 않는다.5. (.) 점 연산자
시험 다음주 수요일(23일) 3교시 / 장소 : 수봉관 1303호 내일 수요일날(16일) 수업 없음다음주 화요일날(22일) 수업없음 sdl 과제 -> 아래 이미지 sdl로 구현하기 ( 10월 30일 제출 )● #, @ 같은 걸 이미지로 대체● 제공한 소스 그대로 하기(데이터구조응용 수업 때처럼)● 객체를 움직일 때 자연스럽게 움직이게 하던지 깡총깡총 뛰는 것처럼 움직이게 하던지 둘 중 하나 선택 각 코드마다 어떤 기능을 수행하는지 수업함
시험범위 : 7장, 8장, 9장, 10장 문자열 하는데까지시험일정 : 10월 23일 (수요일 2교시 아침 10시) 예정 아래 5 문제 문제풀이 진행 시험범위 여기까지
#include int main(void){ int a[] = { 10, 20, 30, 40, 50 }; int* p; int v; p = a; printf("a[0]=%d a[1]=%d a[2]=%d \n", a[0], a[1], a[2]); printf("p[0]=%d p[1]=%d p[2]=%d \n\n", p[0], p[1], p[2]); printf("p전 = %u\n", p); v = *p++; //v = (*p)++; //v = *++p; //v = ++*p; printf("p후 = %u, v = %d\n", p, v); printf("a[0]=%d a[1]=%d a[2]=%d \n", a[0], a[1], a[2]); return 0;}※위 코드 시험문제 가능성 높음
※포인터 변수가 가르키는 변수의 자료형이 char 형이면포인터 변수의 타입이 int 형이든 char 형이든 double 형이든 모두 4바이트이다. ex) double number = 'a' int *p; p = &number; 여기서 p는 8바이트의 크기를 가짐포인터 변수에 *가 붙으면 포인터 변수가 가르키는 변수의 값을 출력하고포인터 변수에 *가 없으면 포인터 변수가 가르키는 변수의 주소를 출력한다.1. 바이트 단위2. yes3. &4. p = &x;5. *p = 25; ※시험 문제 가능성