VS пропускает строки создания типов данных - C - PullRequest
0 голосов
/ 08 января 2019

Итак, у меня есть функция, в которой я создаю несколько типов данных. Во время отладки я заметил, что VS просто пропускает некоторые из этих строк. это функция:

void addNewUser(womenList* list, user*** manArr, int *maxArr)
{
//skips
    unsigned char temp = 0;
    char tempId[MAX_ID];
    int tempAge;
    char tempGender;
    int hobbies[4];
    char tempFirstName[16];
    char tempLastName[16];
    char tempUserName[16];
    char tempPassword[16];
    char tempDescription[212];
//not skips
    int idStatus;
    int i = 0;
//more code after that
}

Кто-нибудь знает, что не так? Если вам нужно, чтобы я добавил немного кода, просто скажите. спасибо!

1 Ответ

0 голосов
/ 08 января 2019

В этом нет ничего плохого. Отладчик переходит через строки, которые определяют переменные, потому что нет никаких инструкций, связанных с этими определениями - на самом деле нечего отлаживать.

Все, что необходимо для реализации char tempPassword[16];, например, это выделение 16 байтов в стеке. Это делается как часть кода преамбулы для функции, наряду со всеми другими локальными переменными, конечно, и обычно это не то, что вы заметите в VC.

Некоторые отладчики могут наступать на открывающую фигурную скобку функции, и если вы можете переключиться в окно с инструкциями по сборке, вы можете увидеть, что там что-то выполняется ... но в большинстве случаев большинство разработчиков просто не заинтересованы в этом. что больше, чем они заинтересованы в механике передачи параметров в функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...