C 구조체로 포인터 값 가져오기

개념을 잡아놔도 가끔 햇갈려서 잘못 쓸데가 많다
만약 구조체

typedef struct
{
  uint16  neighborAddress;
  uint8   neighborExtAddr[Z_EXTADDR_LEN];
  uint16  panId;
  uint8   age;          // number of nwkLinkStatusPeriod since last link status
  linkInfo_t linkInfo;
} neighborEntry_t;
이런 놈이 있다고 하면 이런 놈들을 배열로 가지고 있는 놈은 이렇게 있을 수 있다.
neighborEntry_t neighborTable[MAX_NEIGHBOR_ENTRIES];
이럴 때 배열안에 들어있는 놈들을 하나씩 구조체로 받아서 사용해야한다.
아래처럼
neighborEntry_t *neighborEntry;
neighborEntry = &neighborTable[selectNum];
이렇게 해야 포인터로 잡아놓은 놈(neighborEntry)한테 배열의 주소를 받아와서 맹글어놓은 neighborEntry에 쏙쏙 들어가 준다.


그런 다음 실제 값을 보고 싶다면 neighborEntry->panId 이렇게 하면 실제 값을 확인 할 수 있다. 


자꾸 까먹는게 포인터로 받아와야되는 빨간부분인데.....빨간부분을 놓치면 자연스럽게 파란 부분도 까먹는다 이거야 원~~~~

까먹지 말자



댓글

이 블로그의 인기 게시물

HP 서버 OS 설치시 HDD를 잡지 못하는 문제

python-gdal 설치

Mysql JOIN 사용시 컬럼이름 중복해결