내가 구조체구조체의 멤버에 액세스하기위한 인덱싱. C 프로그래밍
typedef struct
{
unsigned char mem1;
unsigned char *mem2
} MEMBERS;
를 가정 어디
내가 함수 "GET_MEM가"에 구조 "MEMBERS"의 주소를 반환 MEM1와 MEM2, 두 값에 접근 할 필요가unsigned sample = 12
MEMBERS memvalues = { 0x15 , &sample };
X_mem.
unsigned char *X_mem = GET_MEM (); //function returns address of memvalues
unsigned value1 = *X-mem;
unsigned Value2 = *++X_mem;
내가 값 1은 0x15주고 싶어하고, 값 2 내가이 일을 할 수있는 방법 (12)
을 제공합니다 : 내 말은 이것이다?
참고 : 위의 코드 예제가 구문 상 올바르다 고 가정하지 마십시오. 저의 의도를 표현하기위한 것입니다. 감사합니다.
const MEMBERS *some_members = (MEMBERS *) GET_MEM();
unsigned value1 = some_members->mem1;
unsigned value2 = *some_members->mem2;
'unsigned char * X_mem = GET_MEM(); // 함수가 memvalues의 디자인을 잘못 반환하면'MEMBERS * '가 반환됩니다. –
당신은 어떻게 의미합니까? –
'GET_MEM()'은'MEMBERS *'를 반환해야합니다. 왜냐하면 실제로 리턴하는 것이기 때문에'MEMBERS * '에 반환 값을 저장해야합니다. –