What type of declaration is "static const struct bt_data ad[] = {X,Y,..}"?

I am.a beginner in BLE embedded development, and I have a question regarding the following declaration that is going to be "the advertisement data"
In specific, 

static const struct bt_data ad[] = {
BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)),
BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),
};
I know that ad[] is an array, but I am confused regarding what is before that. Typically, I expect from the C language syntax that a data type should be placed prior to the name, but here there is something between "struct" and "ad". Any help or idea is much appreciated.

Thanks.
Related