Serial.write only the first 12 character from an array with a greater size

I have a object “sendbuffer” of my “queuebuf” struct. One member of this object “sendbuffer” is a char array “buffer[36]”.
In my prepare packet method im filling the char array until buffer[11]

Is it legit to use:

Serial.write(sendbuffer.buffer,12);
typedef struct
{
    uint8_t len;
    uint8_t buffer[36]; 
} queuebuf;

queuebuf sendbuffer;

void setup()
{
Serial.begin(115200);

 
}

void loop()
{
 preparePacket();
Serial.write(sendbuffer.buffer,12);

}
void preparePacket()
{

     queuebuf *ptsendequeue =&sendbuffer;
    
         throttlebrakeOld.throttle = throttlelebrakeNew.throttle;
         throttlebrakeOld.brake = throttlelebrakeNew.brake;
        
        //55 AA 06 20 61 B0 20 02 28 27 57 FE

        (*ptsendequeue).buffer[0] = HEADERAA;
        (*ptsendequeue).buffer[1] = HEADER55;
        (*ptsendequeue).buffer[2] = READESCDATA[0];
        (*ptsendequeue).buffer[3] = READESCDATA[1];
        (*ptsendequeue).buffer[4] = READESCDATA[2];
        (*ptsendequeue).buffer[5] = 0xB0;
        (*ptsendequeue).buffer[6] = 0x20;
        (*ptsendequeue).buffer[7] = packetunkown;
        (*ptsendequeue).buffer[8] = throttlebrakeOld.throttle;
        (*ptsendequeue).buffer[9] = throttlebrakeOld.brake;
        (*ptsendequeue).buffer[10] = (uint8_t)(Scrccalc&0xFF);
        (*ptsendequeue).buffer[11] = (uint8_t)((Scrccalc&0xFF00) >> 8);
}

Is it legit to use:

Serial.write(sendbuffer.buffer,12);

Does it work when you try it ?

You could, of course, iterate through the array with a for loop to pick out the range of array entries that you want.

I think that it would take less time to try it or to read the documentation than it takes to get an answer on this forum.

Using a loop to iterate might take a few more keypresses but would easily work also.