반응형
memset() return value의 용도는 무엇입니까?
memset()
반환을 선언하다void*
이 값은 함수에 전달된 주소와 항상 같은 값입니다.
반품가치는 무슨 소용입니까?왜 안 돌아와?void
?
다음과 같은 콜 체인에 사용할 수 있습니다.
char a[200];
strcpy(memset(a, 0, 200), "bla");
시그니처는 다른 모든 유사한 기능과 일치합니다.memcpy()
,strcpy()
기타. 저는 항상 이것이 이러한 함수에 대한 콜을 체인으로 하거나 표현에 그러한 콜을 사용할 수 있도록 하기 위한 것이라고 생각했습니다.
그렇지만, 나는 수익률을 그렇게 사용하지 않을 수 없는 현실세계의 상황을 본 적이 없다.
함수를 다음과 같은 다른 함수의 인수로 사용하려면sprintf
나는 어떤 memset이 반환되었는지 구글링할 때 이 질문을 발견했다.
하나의 값을 테스트하는 코드가 몇 개 있는데, 값이 0인지 확인하기 위한 테스트인지 확인합니다.
C에서는 제로를 테스트하는 완전한 휴대용 방법이 없기 때문에 중간에 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' 카테고리의 다른 글
클래스 기반 접근 방식을 사용할 때 스토어 액션을 컴포넌트에 매핑하려면 어떻게 해야 합니까? (0) | 2022.08.29 |
---|---|
<< = >보다 빠릅니까? (0) | 2022.08.29 |
대화 상자를 열 때 대화 상자 내부의 포커스 텍스트 필드 설정 (0) | 2022.08.29 |
Vue 컴포넌트의 소품 어레이가 반응하지 않음 (0) | 2022.08.29 |
a++++b가 왜 안 되지? (0) | 2022.08.29 |