@JohnRennie #include <stdio.h> char (**d(void))[7]; char (*(*c())[4])[7]; char a[4][7] = {"Common", "Point", "Boost", "Better"}; char (*b[4])[7] = {a+3, a+1, a, a+2}; int main() { printf("%s ", *((**d)()-1)[0]); } char (*(*c())[4])[7] { return &b; } char (**d(void))[7] { return c()[1] - 3; }