Я делаю программу на C для Windows, используя Visual Studio 2010.
Я передаю массив wchar_t функции.
//in main
wchar_t bla[1024] = L"COM6";
mymethod(bla);
static void mymethod(wchar_t *bla) {
//do stuff
}
Я использовал отладчик для просмотра bla, sizeof (bla) и заметил, что в основном bla имеет тип wchar_t
и sizeof(bla) = 2048
, но в mymethod, bla имеет тип unsigned short*
и имеет sizeof(bla) = 4
.
Почему это так?
Я хотел передать bla в метод, чтобы метод мог изменить массив вместо возврата отредактированного массива. Однако swprintf не работает, так как я хочу, чтобы sizeof (bla) был 1024 вместо 4.
Приветствие.