В настоящее время я изучаю компилятор LLVM. В их языковой ссылке (http://llvm.org/releases/3.7.0/docs/LangRef.html#getelementptr-instruction) они приводят некоторый код C в качестве примера для команды getelementptr. Но я не понимаю, как этот код может работать.Что делает этот кусок кода? Доступ к структуре через индекс?
struct RT {
char A;
int B[10][20];
char C;
};
struct ST {
int X;
double Y;
struct RT Z;
};
int *foo(struct ST *s) {
return &s[1].Z.B[5][13];
}
Что делает s[1]
здесь?
Получает ли доступ к структуре с индексом?
Как получить элемент Z здесь?