파도가 칠 때는 서핑을

Soon as possible

Wait!

공부/TIL

20210303(수)

hyeonhki 2021. 3. 4. 08:21
728x90

- 📆 학습 날짜

2021.03.03 (수)

- 🕐 학습 시간

  8:30 - 10:00 (집)
  14:00 - 17:30 (집)
  21:00 - 22:40 (집)

- ✓ 학습 목표

  • 오늘 목표
    * JavaScript
  • ft_printf
    • return 값을 해결하기!

- 어제 목표

  • ft_printf
    • return 값을 해결해야한다
    • iupxX

- ? 학습 범위 및 주제

- WEB2 : JavScript 19~29
- C 프로그래밍 : 가변함수와 구조체
- 42seoul : ft_printf

- 📝 상세 학습 내용

  • JavaScript
    • 배열과 반복문 (array, add, get, count)
    • '+var+'
    • css selector, querySelectorAll
      • console을 통해 변형시키고 코드에 입력하면 편함
    • 함수
    • 매개변수와 인자
    • 객체! -> 다음에
  • Atom 사용시, 코드블럭 색상이 변경되지 않는 문제
    • space 바를 통한 해결

  • ft_printf

    • return 값 해결
      • return 부분에 출력 버퍼들의 길이를 계산하여 넣어주는 것으로 간편하게 해결하였다.
    • %d 또 터짐
      • 음수가 들어왔을 때 width의 사이즈가 맞지않음 => 인자가 음수일 경우 width -= 1;
      • 세그폴트 => return 시 널 체크를 안해줘서 그렇다! 수정 완료
  • ptf_2019 테스터기 실행결과

    • %c 통과

    • %s 터짐 => 통과다!!!!

      • 세그폴트 : 가변인자로 널이 들어올 경우 터졌다! => 가변인자로 널이 들어올 경우 strdup에서 0을 반환하고 ret에 ("null")을 넣는다.
      • width의 사이즈에도 문제가 있다 => precise 후 width 계산으로 해결하였다!
    • %d 터짐 : 음수일 경우가 너무 복잡하다..

      • -를 출력 글자로 생각하지 않아서 return 값이 모자람 => 마지막 출력을 가변인자 그자체의 길이로 수정 -> precise로 인한 글자수가 return에 포함되지 않는다..
      • -의 출력위치 이상 => 함수 수정 => 0 flag에서도 맨 앞 -여야한다.
      • precise로 인한 글자수도 return에 포함
      • 화가 난다..
    • %d 새구현

      • 가변 인자가 양수일 때와 음수일 때를 나누어서 함수 동작
  • %d 구현 성공!!!!!


- ? 추가적으로 공부해야할 내용 (Weekend)

  • printf 로직 및 유의사항 정리
  • 구현 회고

- 학습내용에 대한 총평

  • 테스터기를 돌려가면서 확인하기를 잘했다. 계속 돌려가면서 테스터기에서 걸러지는 부분들을 수정하고 보완해서 완성했다.
  • %d 구현은 사실 이렇게까지 복잡하게 구현해야 하나 싶었는데, 기회가 된다면 함수 하나로 음수까지 구현을 다하고 싶다..

- 👉 다음 목표

  • norm에 맞게 함수 줄이기...
  • ipuxX

- 📚 참고 서적 및 웹사이트


728x90

'공부 > TIL' 카테고리의 다른 글

20210306(토)  (0) 2021.03.07
20210305(금)  (0) 2021.03.05
20210304(목)  (0) 2021.03.04
20210302(화)  (0) 2021.03.03
20210301(월)  (0) 2021.03.01