¿Alignas afecta el valor de sizeof?

#include <iostream>
using namespace std;

int main()
{
    alignas(double) unsigned char c[1024];   // array of characters, suitably aligned for doubles
    alignas(16) char d[100];            // align on 16 byte boundary
    cout<<sizeof(c)<<endl;
    cout<<sizeof(d)<<endl;
    constexpr int n = alignof(int);     // ints are aligned on n byte boundarie
    cout<<n<<endl;
}

Aquí está el código, paraalignas(double) unsigned char c[1024];, significa elc debe estar alineado pordouble, eldouble es8 bytes Por eso piensosizeof(c) debiera ser1024*8 bytes, pero la salida de la consola es1024.

Entonces estoy confundido. ¿Quién me puede decir la razón?

Respuestas a la pregunta(2)

Su respuesta a la pregunta