2017-04-06 1 views
0

구조체의 멤버 (포인터)가 다른 포인터를 통해 어떻게 액세스 될 수 있습니까? * ptr이 구조체에 속한 포인터 인 * time에 액세스하기 위해 사용하려는 포인터라고 가정 해 보겠습니다. ptr-> 시간을 쓰면 맞습니까?구조체의 포인터에 대한 포인터

v [i] (배열)의 값을 * 시간에 할당하려면 ptr-> time = v [i]라고 쓰면 정확할까요?

+0

명심해야 할 명확한 유스 케이스를 게시하십시오. 추상적 인 코드를 설명하지 마십시오. – StoryTeller

+0

프로세스 메모리 공간의 모든 주소에 대한 포인터를 가질 수 있습니다. 그래서 당신이 원하는 무엇이든 가리킬 수 있습니다. – Fredrik

+0

@Fredrik : 정확하지 않습니다. 지나치게 단순화되었습니다. – Olaf

답변

1

v [i] (배열)의 값을 * 시간에 할당하려면 ptr-> time = v [i]라고 쓰면 정확할까요? 만약 있다면

호 ...

struct { 
    int *time; 
} *ptr; 
int v[10], i = 0; 

... 다음 써야 * (ptr-> 시간) V [I]를 =

시간은 포인터이면 구조체 내부에있는 것은 아무 것도 변경하지 않습니다. 그래서 당신이 시간에 의해 지적 int에 액세스하려는 경우, 당신도 그것을 존중해야합니다.

관련 문제