본문 바로가기
POCU/COMP2200

POCU 2~3주차 리뷰

by Oliver_Candy 2023. 1. 27.

인간의 실수는 계속되고 같은 실수를 반복한다..... 글쓰기가 갑자기 느려진 이유는 내가 원래 수업을 들으면서 필기를 하면서 어떤 글을 작성할지 생각을 하는데, 3주 차에 실습 3이랑 과제 1을 하느라고 수업필기도 못하고 주야장천 수업 듣고 실습과 과제를 계속했었다.

참 미리미리하기로 나 자신이랑 약속해 놓고도 2주 차 때 미리 3주 차 강의도 들어보고 과제1도 했었어야 되는데 과제1보면서 머리로는 이렇게 저렇게 구현하면 쉽겠는걸?

3주차 때 한꺼번에 처리하자 생각하고 3주차돼서 보니 막상 구현하기가 쉽지 않았던 거 같다.

과제가 3주 동안 주어지니 과제 안에 있는 소문항 들도 많아서 은근 시간이 걸렸다. 

 

 

 

 

2주 차 리뷰 : 일단  실습 2랑 수업에서 배운 건 스택메모리랑 배열에 대해서 배운 것 같다.

(기억이 가물가물... 요번 주에 다시 수업 필기하고 글작성도 하고 미리미리 수업도 듣고 해야지) 실습자체에서도 배열인덱스와 배열 개수를 자꾸 활용하는 코드를 작성하면서 주어진 메모리 안에 있는 배열만을 읽고 쓰는 연습을 했던 것 같다.

(아직까지 문자열은 안 배움) int형 배열로 계속 인덱스와 배열 개수를 잘못 코딩해서 메모리 오류도 발생하고 size_t랑 int 비교할 때 암시적 캐스팅도 발생하는 것도 알게 되면서 unsigned랑 signed 자료형이랑 최대한 비교를 자제하고 비교를 할 때는 signed미리 캐스팅해서 연산을 해야겠다고 생각이 들었다.

 

 

 

 

 

2023.01.13 - [POCU/COMP2200] - [C] 암시적 형변환 C99표준(size_t(=unsigned int)와 int 연산할 때 형변환포함)

 

[C]암시적 형변환 C99표준(size_t(=unsigned int) 와 int 연산할 때 형변환포함)

2023.01.12 - [POCU/COMP2200] - [C]size_t 자료형과 사용할 때 주의점(size_t VS unsigned int) [C]size_t 자료형과 사용할 때 주의점(size_t VS unsigned int) 이번에는 size_t자료형에 대해서 알아보고 size_t와 unsigned int의

olivertree-cs.tistory.com

 

 

 

 

3주 차 리뷰 : 3주 차에서는 과제 1이랑 실습 3을 했었는데 나는 과제 1을 먼저 했었다.

과제에서 내가 잘 못 작성한 코드도 있었지만, 빌드봇이 채점하는 과정에서 이상하게 채점하는 것이 있어서 혼자서 뭐가 잘못됐지 고민도하고 코드도 바꿔보고 해도 안 돼서 질문을 많이 했던 것 같다(3주 차 끝에 설날도 있어서 주말 전에 끝내고 싶었다.).

그러다가 조교님이 저번학기에도 이런 적이 있었다면서 이렇게 해서 코드 다시 작성해 보라고 하니 확연하게 점수가 올라가서 그 이후로는 쉽게 해결하였다.

이 과정이 거의 이틀(48시간 중에서 잠자는 시간 13시간? 그 정도 빼고 계속 생각->고민->코딩->다시 생각) 동안 계속되었고 과제 1을 빌드봇에 제출을 하면 30분 동안 재제출이 안 돼서 그 시간 동안 실습 3을 생각해 보았다.

 

 

 

 

실습 3은 포인터관련해서 포인터연산을 테스트하는 문제였는데, 처음에는 그냥 막막했다.

도대체 어떻게 해야 되는지 const문자가 어떤 뜻인지 강의를 봤지만 확연하게 머리에 박혀있지 않아서 컴파일도 잘 되지도 않았다.

그래서 포기할까 하다가 그냥 모든 문제는 막일로 시작되서 효율적으로 바뀐다고 생각하고 노가다로 작성을 해보자고 생각하였다.

그래서 덕지덕지 반복문을 붙이고 하다 보니 다른 방식도 생각도 나고 슬랙방에서 나랑 비슷하게 const를 이해를 못 하시는 분이 있었는데 다른 분이 답도 주시고 해서 이제야 제대로 이해가 된 것 같다.

여기서 짧게 설명하자면 const int*는 int* 안에 들어있는 주소에 값을 변경하는 건 안 되는 건 알고 있었지만 그렇기에 const int* 변수를 const int*로 변수를 만들어서 넣어야 되는지는 몰랐다.

그래서 '값만 내가 코드에서 안 바꾸면 되지 그냥 int*에 넣으면 되지 않나?' 이 생각을 하였는데, 이런 코드 작성자의 위험도 막기 위해서 const int*변수를 만들어서 넣으면 알아서 컴파일러가 값을 변환하면 막아주기에 이렇게 해서 넣어야 된다는 것을 알게 되었다.

3주 차에는 이틀 동안 엄청난 생각을 통해서 확 발전하게 된 것 같다. 다시 한번 포인터공부를 더 해서 뒤에 나오는 강의도 쉽게 이해할 수 있게 복습해야겠다.

 

 

 

 

 

추가적으로, 포인터 강의 막바지에 이런 생각이 들더라 수강철회할까... ㅋㅋㅋ 내용도 조금 이해가 안 되고 실습, 과제 둘 다 점수가 개판이고 마감일까지 100점 받을 수 없을 것 같아서 정말로 힘들었는데, 조교님들이 크게 도와주신 것이 포기하지 않고 계속 코딩을 할 수 있게 되었던 것 같다.

이 글을 통해서 조교님과 직원분들 덕분에 새벽에도 어떤 것이 잘 못되었는지 생각해 보고 계속 코딩할 수 있었던 것 같습니다. 설날 바쁘신 와중에도 계속 답변해 주시고 피드백해 주셔서 감사합니다!!

'POCU > COMP2200' 카테고리의 다른 글

POCU 1주차 리뷰  (0) 2023.01.08

댓글