空间复杂度的判定是什么

#include "list.h" // 请不要删除,否则检查不通过
#include <stdio.h>
#include <stdlib.h>
void odd_even(SeqList* L)
{
int a, b, c, d;
a = 0;
c = 0;
b = L->last;
int my[L->last];
while (c <= (L->last)) {
d = L->elem[c] % 2;

    if (d == 0) {
        my[b] = L->elem[c];
        c++;
        b--;
    } else if (d == 1) {
        my[a] = L->elem[c];
        a++;
        c++;
    }
}

for (a = 0; a <= L->last; a++) {
    L->elem[a] = my[a];
}

}

问下这个代码的空间复杂度,为什么不是O(n)是1

哪里给的答案是O(1)呢?用了临时空间int my[L->last];应该是O(n)啊