2014-04-19 3 views
2

자갈을 코딩하고 있습니다. 사용을 허락하지 않습니다. free()여기 메모리 누수가됩니까?

나는이 시간을 얻고 싶습니다. 하지만 메모리가 안전한지 확실하지 않습니다. 내가 ts 의미 - 포인터이며, 나는 그것이

struct tm *ts; 
    time_t timestamp = time(NULL); 
    ts = localtime(&timestamp); 

가 여기에 메모리 누수가있을 것 사용 후() 무료로해야합니다 생각? 그렇다면 누출이 발생하지 않도록 코드를 변경하는 방법은 무엇입니까?

+1

malloc을 호출하지 않았습니다. 따라서 무료로 전화 할 필요는 없습니다. – exussum

+0

@ user1281385 : 'realloc()'에 대해 들어 본 적이 있습니까? C 표준 라이브러리에서는 거의 없지만 동적 메모리를 반환하는 많은 함수가 있습니다. – Deduplicator

+0

먼저 malloc이나 calloc에서 포인터를 가져야합니다 ( – exussum

답변

4

아니요, 누출이 없습니다.

이 함수는 localtime()에 대한 다음 호출없이 올바른 데이터를 보유하는 내부 객체에 대한 포인터를 반환합니다.

+0

참조를 위해 [localtime'의 설명] (http://www.cplusplus.com/reference/ctime/localtime/?kw=localtime)을 확인하십시오. –

+0

이는 다중 스레드 안전, 신호 안전 또는 재진입 성이 없음을 의미합니다. – Deduplicator

+0

@Deduplicator : 페블에는 스레드, 신호 또는 그런 것들이 없습니다. 이것은 본격적인 POSIX 환경이 아닙니다. – DarkDust