반응형
구조물에 빈 포인터 캐스팅
저는 C에 대해 편안함을 느끼기 시작했고, 그 후 타이프 캐스팅에 부딪혔습니다.*.h 파일에 다음이 정의되어 있는 경우
struct data {
int value;
char *label;
};
그리고 이것은 다른 *.h 파일에 있습니다.
# define TYPE void*
함수로 전달된 변수 "TYPE 밸브"를 사용할 수 있도록 구조체에 보이드 포인터를 캐스팅하려면 어떻게 해야 합니까?예를 들어, TYPE val이 가리키는 값을 사용하려면 어떻게 캐스트해야 다른 함수에 해당 값을 전달할 수 있습니까?
(struct data*)pointer
의 포인터를 무효화하기 위해 포인터를 던집니다.struct data
.
구조물에 대한 빈 공간 포인터를 타이핑하는 작업은 다음과 같이 수행할 수 있습니다.
void *vptr;
typedef struct data
{
/* members */
} tdata;
이를 위해 우리는 cast to struct를 입력할 수 있습니다. 당신이 이 vptr as structure 변수를 어떤 함수로 보내고 싶다고 합시다.
그리고나서
void function (tdata *);
main ()
{
/* here is your function which needs structure pointer
type casting void pointer to struct */
function((tdata *) vptr);
}
참고: 우리는 보이드 포인터를 모든 유형에 타이핑할 수 있으며, 이것이 보이드 포인터의 주요 목적입니다.
언급URL : https://stackoverflow.com/questions/14946344/casting-a-void-pointer-to-a-struct
반응형
'programing' 카테고리의 다른 글
자바스크립트를 호출하기 위해 링크를 사용하는 방법은? (0) | 2023.08.16 |
---|---|
CSS 높이: 100% 대 높이: 자동 간의 차이 (0) | 2023.08.16 |
Swift에서 단추 텍스트 밑줄 표시 (0) | 2023.08.16 |
CSS에서 너비 = 100% - 100%를 어떻게 할 수 있습니까? (0) | 2023.08.16 |
라라벨의 Mysql InnoDB 엔진 (0) | 2023.08.16 |