this question과 매우 유사하지만 그 중 두뇌 발가락 순간을 가지고 있으며 을 찾고 있습니다. 좋은 점과 맞음 방법.구조체 포인터 내 참조 구조체 포인터
일부 데이터를 처리하기 위해 새로운 pthread를 시작합니다.이 경우 포인터를 전달할 수 있습니다.이 경우 포인터가 구조체에 대한 스레드에 여러 항목을 전달하기를 원하기 때문입니다.
그 데이터 구조체 자체는 다른 데이터 구조체에 대한 포인터를 포함합니다.
이렇게 설정하면 &에 중첩 된 구조체에 액세스하는 올바른 방법은 무엇입니까?
struct things_struct
{
int a;
int b;
};
struct thread_params
{
int flag;
struct things_struct *things;
}
int main()
{
struct thread_params params;
struct things_struct the_things;
params.things = &the_things;
// Launch thread
pthread_create(&thrptr, NULL, PrintThings, (void *)params);
//...
}
// The thread
void *PrintThings(void *arg)
{
struct thread_params *params = (thread_params *)arg; // cast back to correct type
int local_a = params->things->a; // is this correct?
//...
}
다른 비슷한 질문에 대한 참조가 유사 간단한 대답에 비슷한 질문
here 거기 (난 항상 그들에게 게시 후
을 찾기)에 추가합니다.
예. – RedX
@RedX - 가능합니다. 실제로 내 질문에 대답 했습니까 아니면 댓글에 대한 이론을 테스트 했습니까? –