배열 값 구조체에 넣기

이거 C로 프로그램 짜면서 자주 햇갈린다

struct {
uint8 name;
uint8 age;
}info_t;

라는 구조체가 있고

배열 data[2]={"홍길도",17};의 값을 구조체 넣을려면

info_t *info;
info = (info_t*) data; 이렇게 사용해주면 많은 구조체에 다량의 배열값을 넣을 때 유용하다.

하지만 위와 같은 방법은 로컬 함수에서 모든 일(?)이 있을 때는 유리하지만 전체 프로그램에서 공유해서 사용하는 값이라면 스텍에 겹쳐지면 지워질 수 있기 때문에

전체에서 사용하는 값이라면

맵 카피와 같은 방법을 사용해야 한다.

memset(&info, data, sizeof(inof)); 와 같이 사용해야 한다.

자주 까먹는데 왜자꾸 까먹는건지 아니면 이해를 잘못해서 자꾸 까먹나?

댓글

이 블로그의 인기 게시물

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

python-gdal 설치

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