그날 알았지 이럴 줄

[C언어] 문자열 쓰레기값 출력, 구조체 문자열과 함수 본문

CODING/C . C++

[C언어] 문자열 쓰레기값 출력, 구조체 문자열과 함수

님믹 2021. 5. 8. 22:51

※ 정보글보다는 개인 오류 아카이브에 가까움

 

 

 

 [코드 및 오류 상황] 

메인 함수에서 구조체 배열을 정의하고, 함수 두개 사용

첫번째 함수) 문자열을 입력 받아 구조체 배열 변수에 저장

두번째 함수) 구조체 배열 변수에 저장된 문자열 출력

쓰레기값 출력 오류 발생

儆 경계할 경

 

구글링 했을 때 나오는 경우는 입력한 문자열 + 쓰레기값의 순서였는데

내 오류는 쓰레리값 + 입력한 문자열 .

해결법이 안나와 답답해 죽는 줄

 

 

 

 [해결 방법] 

 

메인 함수에서 해당 배열을 초기화 해주면 됨

이렇게

구조체(RentInfo)를 정수 변수, 문자열 변수 순서로 정의 했었으니

차례대로 0, '\0' 으로 초기화 해줌. 중괄호 두겹 달 것.

구조체 배열도 배열이니까 한개만 초기화 해도 나머지는 자동으로 채워지지요

 

그러면 짠 이렇게 쓰레기값 없이 정상적으로 출력 된다

역시나 여러개도 가능

 

 

 

 

배열의 오류를 줄이기 위해 당연히 해야할 배열 초기화

구글링해도 안나온다고 몇시간이나 붙잡았는지

 

일단 기본적인 것부터 생각하고 차근차근 고쳐볼 것

무조건 구글링에 의존하지 말 것

 

 

 

~끝~

Comments