what type it is about ltab[4]?

some codes like this

Queue *ltab[MAXQ];
Queue *q;
ltab[4] = q;

somebody can tell me what type it is about ltab[4],it is a simple
ArraySubscriptExpr type?if not,How can I get it by clang API?
thank you!

Because clang can't recognize the keyword---quence,must add relevant
"#include ****.h" at begining.

$ cat tmp.c

typedef struct Queue Queue;
const int MAXQ = 123;
void f() {
Queue *ltab[MAXQ];
Queue *q;
ltab[4] = q;
}
$ clang tmp.c -Xclang -ast-dump -fsyntax-only

TranslationUnitDecl 0x5648c00 <>

-TypedefDecl 0x5649100 <> __int128_t ‘__int128’
-TypedefDecl 0x5649160 <> __uint128_t ‘unsigned __int128’
-TypedefDecl 0x56494b0 <> __builtin_va_list ‘__va_list_tag [1]’
-RecordDecl 0x5649500 <tmp.c:1:9, col:16> struct Queue
-TypedefDecl 0x56495f0 <col:1, col:22> Queue ‘struct Queue’:‘struct Queue’
-VarDecl 0x5649660 <line:2:1, col:18> MAXQ ‘const int’
-IntegerLiteral 0x56496b8 <col:18> 'int' 123 -FunctionDecl 0x5649730 <line:3:1, line:7:1> f ‘void ()’
-CompoundStmt 0x567b350 <line:3:10, line:7:1> -DeclStmt 0x567b168 <line:4:3, col:20> -VarDecl 0x567b110 <col:3, col:19> ltab 'Queue [123]’
-DeclStmt 0x567b1e8 <line:5:3, col:11>
-VarDecl 0x567b190 <col:3, col:10> q 'Queue *' -BinaryOperator 0x567b328 <line:6:3, col:13> 'Queue ’ ‘=’
|-ArraySubscriptExpr 0x567b2c0 <col:3, col:9> ‘Queue *’ lvalue
| |-ImplicitCastExpr 0x567b2a8 col:3 ‘Queue **’
__| | -DeclRefExpr 0x567b200 <col:3> 'Queue *[123]' lvalue Var 0x567b110 'ltab' 'Queue *[123]'__ **| -IntegerLiteral 0x567b228 col:8 ‘int’ 4

-ImplicitCastExpr 0x567b310 <col:13> 'Queue *' <LValueToRValue> -DeclRefExpr 0x567b2e8 col:13 ‘Queue *’ lvalue Var 0x567b190 ‘q’ ‘Queue *’

I see ,Thank you!

Rambo