O alinhamento afeta o 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;
}

Aqui está o código, paraalignas(double) unsigned char c[1024];, significa oc deve ser alinhado pordouble, adouble é8 bytes. Então eu achosizeof(c) deveria estar1024*8 bytes, mas a saída do console é1024.

Então, eu estou confuso. Quem pode me dizer o motivo?

questionAnswers(2)

yourAnswerToTheQuestion