728x90
- 📆 학습 날짜
2021.03.10 (토)
- 🕐 학습 시간
8:30 - 11:00
19:50 - 21:30
- ✓ 학습 목표
- %pxX 구현하기
- 어제 남은 일
- 재귀함수로 putnbr 받아서 문자열로 반환하기..
- ? 학습 범위 및 주제
- 42seoul : ft_printf
- C 프로그래밍
- 📝 상세 학습 내용
ft_putnbr_base
- 재귀함수에서 이차원배열로 문자열 값을 입력하는 중
- 재귀 카운트를 0시작이 아닌 길이시작에서 --로 변경하여 거꾸로 출력되는 결과를 뒤집었다.
- index 0 으로 시작시 012 가 123이 되는 문제가 있어서 출력이 이상했던 것이었다!
- 가변인자에 널이 들어온 경우 => 해결
- unsinged long으로 형변환해서 받는데 왜 문제가 생길까
- segmentation의 이유는 가변인자가 0일때, 저장되는 문자열이 "0"이어야 하는데. 내 함수에서는 *ret[1] = 0 으로 널을 집어주니 오류가 나왔다. char 와 char *의 차이랑 같은 이유.
- 쓰레기값으로 인한 문제 => ft_bufwhat에서 마지막 문자 널처리를 안해서 생기는 문제! =>해결
%xX 구현
- %p 와 거의 동일한 방법으로 구현
- 16진수 변환 (소문자, 대문자)
- 동일한 문제 : return값과 문자열이 거의 2배로 출력
=> unsinged long 이 아닌 unsigned int로 받아주면 문제 사라짐!
- 동일한 문제 : return값과 문자열이 거의 2배로 출력
- ? 추가적으로 공부해야할 내용 (Weekend)
- ft_bewhat, be_zero에서 void 포인터를 사용한 함수구현
- 왜 이차원 포인터를 사용하지 않았는데 내용이 바뀌었나?
- 인덱스를 사용하지 않고 함수를 구현할 시 문제가 생긴 내용
- char * 와 char []의 차이
- unsigned long, unsigned int 자료형 byte와 이로인해 생기는 문제
- 학습내용에 대한 총평
printf 구현의 끝이 보인다.
요며칠 또 집들이하느라 공부 못했는데, 다시 각잡고 해보자..
- 👉 해야할 일
- %p 마지막 테스트 오류 2개 수정
- 모든 테스터기 돌려보기(printf_lover에서의 문제는 함수 어딘가에 널처리가 되지않아 쓰레기값이 읽혀나온 문제라고 한다.!! ft_itoa등 잘 살펴볼 것!)
- 코드 줄이기 및 함수구현 정리
- 📚 참고 서적 및 웹사이트
728x90
'공부 > TIL' 카테고리의 다른 글
20210312(금) (0) | 2021.03.13 |
---|---|
20210311(목) (0) | 2021.03.12 |
20210308(월) (0) | 2021.03.08 |
20210307(일) (0) | 2021.03.08 |
20210306(토) (0) | 2021.03.07 |