VS跳过数据类型创建行-C

时间:2019-01-08 17:34:10

标签: c variables

所以,我有一个可以创建多种数据类型的函数。我在调试时注意到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 :(得分:0)

这没什么错。调试器将跳过定义变量的行,因为没有与这些定义相关的指令,实际上没有什么要调试的。

例如,实现char tempPassword[16];所需要做的就是在堆栈上分配16个字节。这是该函数的序言代码的一部分,当然还有所有其他局部变量,通常在VC中您不会注意到。

某些调试器可能会踩到该函数的开头括号,并且如果您可以切换到显示汇编指令的窗口,则可能会在其中看到正在执行的内容...但是大多数情况下,大多数开发人员对此并不感兴趣那,除了他们对将参数传递给函数的机制感兴趣之外,无非如此。