C로 시간(NULL)은 무엇입니까?
나는 몇 가지 기본적인 C 기능에 대해 배웠고, 만났다.time(NULL)
설명서에 기재되어 있습니다.
이게 정확히 무슨 뜻이죠?
에 포인터를 전달할 수 있습니다.time_t
을 반대하다time
는 현재 시간으로 채워집니다(반환값은 지정한 값과 동일합니다).합격하면NULL
, 그것은 그것을 무시하고 단지 새로운 것을 반환한다.time_t
현재 시간을 나타내는 객체입니다.
문의처time(NULL)
는 현재 캘린더 시각(1970년 1월1일 이후 초)을 반환합니다.상세한 것에 대하여는, 이 레퍼런스를 참조해 주세요.일반적으로 포인터를 전달하면time_t
variable. 이 포인터 변수는 현재 시간을 가리킵니다.
time()
아주 아주 오래된 기능입니다.C언어가 활자조차 없던 시절로 거슬러 올라간다.long
옛날에는 32비트 타입을 얻는 유일한 방법은 2개의 배열을 사용하는 것이었습니다.int
s - 그때가int
는 16비트입니다.
그래서 전화했구나
int now[2];
time(now);
32비트의 시간을 채우고now[0]
그리고.now[1]
, 한 번에 16비트.(이것은, 다음과 같은 다른 시간 관련 함수의 이유를 설명합니다.localtime
그리고.ctime
는 포인터를 통해서도 시간 인수를 받아들이는 경향이 있습니다.)
나중에 dmr은 추가 작업을 완료했습니다.long
컴파일러에게 전달하면 이렇게 말할 수 있습니다.
long now;
time(&now);
나중에 누군가 깨달은 게 있는데time()
포인터를 사용하여 값을 입력하는 것이 아니라 값을 반환합니다.단, 하위 호환성은 뛰어난 기능입니다.아직도 동작하고 있는 모든 코드를 이용할 수 있습니다.time(&now)
,그time()
함수가 포인터 인수를 계속 지원해야 했습니다.따라서 반환값을 사용할 경우 포인터로 NULL을 전달해야 합니다.
long now = time(NULL);
(나중에, 물론, 우리는 여전히,time_t
평범하지 않고long
예를 들어 64비트 타입으로 변경하여 y2.038k 문제를 회피할 수 있습니다.)
[P.S. 사실 잘 모르겠어요]int [2]
로.long
반환값을 추가하기 위한 변경은 다른 시간에 이루어졌습니다.이러한 변경은 동시에 이루어졌을 수도 있습니다.그러나 시간을 배열로 표시할 때는 포인터를 통해 입력해야 하므로 C 함수는 배열을 반환할 수 없기 때문에 값으로 반환할 수 없습니다.]
그time
는 현재 예: 현재 시간time_t
시스템에서는 1일 )의 어느, Unix 1970년 1월 1일 0시 이후)가합니다.time_t
이치노 ★★NULL
가 원인이 time
시간을 일반 반환값으로 반환하지만 다른 곳에 저장하지 않습니다.
Time
: )을
ctime은 설명서를 참조해야 합니다. time
는 타입의 입니다.time_t *
(에 포인터time_t
object)및 timeobject)를 합니다.포인터를 , 「이 포인터」를 건네줄 수도 있습니다.NULL
신t_ time_t __ __ ___
int main (void)
{
//print time in seconds from 1 Jan 1970 using c
float n = time(NULL);
printf("%.2f\n" , n);
}
1481986944.00 이 인쇄됩니다.
.time_t
합 in you반반 재재반반반 ( )NULL
그냥 됩니다.time_t
현재 시간을 나타내는 객체입니다.
Nb:time(&timer);
timer = time(NULL);
언급URL : https://stackoverflow.com/questions/7550269/what-is-timenull-in-c
'programing' 카테고리의 다른 글
유닛 테스트를 대규모 레거시(C/C++) 코드베이스에 도입하려면 어떻게 해야 합니까? (0) | 2022.07.31 |
---|---|
모든 테스트 도메인에서 작동하도록 Vue/Webpack에서 핫 새로고침을 구성하는 방법 (0) | 2022.07.31 |
size of(char) != 1 또는 CHAR_B 이상의 시스템이 있습니까?IT > 8? (0) | 2022.07.31 |
Linux 상의 다른 프로세스와 파일 기술자를 공유할 수 있습니까?아니면 로컬 프로세스입니까? (0) | 2022.07.31 |
tcmalloc/jemalloc와 메모리 풀의 차이점(및 선택해야 하는 이유)은 무엇입니까? (0) | 2022.07.31 |