구조체의 char 배열에서 지정된 위치에 액세스하는 방법에 문제가 있습니다.구조체의 C char 포인터 배열,
typedef struct Memory
{
char * bitmap[8];
char * memblock[64];
int i;
//...
}Memblock
int somefunction(void)
Memblock mem;
내가 stuct을 할당, 지금은 비트 맵의 비트 연산을 수행 할 것 말할 수 있습니다 : bitmap[0] & 1
을;
시도해 보니 행운의 변화가없는 *mem->bitmap[0] & 1;
입니다. 누군가 그것을 역 참조하는 좋은 설명이 있습니까? 추신 : 비트 맵을 가져 오는 방법을 알고 있지만 비트 맵 [i]은 이해하지 못했습니다.
char bitmap [8] 대신에'char * bitmap [8]'의 이유가 있습니까? 당신이 원하는 것은'char *'의 배열이나 8 개의'char'의 배열을 선언하는 것입니다. –
당신은 요점이 있습니다, 왜냐하면 그것은 단지 memblock만큼 커야 만 할 이유가 없습니다. 우선 제가 수정하려고 시도 할 것입니다. – zill69
Adriano에 동의합니다. 그러나 mem.bitmap [0] = "test";와 같은 멤버에 액세스 할 것입니다. – Sadique