반응형
memset () 반환 값의 용도는 무엇입니까?
memset()void*함수에 전달 된 주소와 항상 동일한 값 을 반환 하도록 선언됩니다 .
반환 값의 용도는 무엇입니까? 왜 반환되지 void않습니까?
시그니처는 다른 모든 유사한 함수와 일치합니다. memcpy(), strcpy()등. 저는 항상 이런 함수에 대한 호출을 연결하고 그렇지 않으면 표현식에서 이러한 호출을 사용할 수 있도록이 작업이 수행되었다고 생각했습니다.
즉, 이러한 방식으로 반환 값을 사용해야하는 실제 상황을 본 적이 없습니다.
다음과 같은 콜 체인에 사용할 수 있습니다.
char a[200];
strcpy(memset(a, 0, 200), "bla");
함수를 다음과 같은 다른 함수에 대한 인수로 사용하려면 sprintf
나는 인터넷 검색에서 memset이 무엇을 반환했는지 볼 때이 질문을 보았습니다.
하나의 값을 테스트하는 코드가 있으며 이것이 사실이면 값이 0인지 테스트합니다.
C에서 0을 테스트하는 완전히 이식 가능한 방법이 없기 때문에 중간에 memset을 실행해야합니다.
그래서 내 코드는 다음과 같습니다.
if ( a==true && (memcmp(memset(zeros, 0, sizeof(zeros)), b, sizeof(zeros)) == 0) )
이것은 이전 질문에 나열된 연결 목적을 말하지만이 기술에 대한 사용의 예입니다.
이것이 좋은 코딩인지 아닌지 판단하기 위해 다른 사람들에게 맡길 것입니다.
참고 URL : https://stackoverflow.com/questions/13720428/whats-the-use-of-memset-return-value
반응형
'programing tip' 카테고리의 다른 글
| "타사"란 정확히 무엇입니까? (0) | 2020.09.12 |
|---|---|
| git bare 저장소에서 마지막 커밋을 어떻게 해제 할 수 있습니까? (0) | 2020.09.12 |
| '@objc'가 아닌 방법은 '@objc'프로토콜의 선택적 요구 사항을 충족하지 않습니다. (0) | 2020.09.12 |
| AngularUI Bootstrap에서 특정 템플릿을 재정의 할 수 있습니까? (0) | 2020.09.11 |
| 새로 고침시 자동 브라우저 스크롤 방지 (0) | 2020.09.11 |