带返回终止符的void函数

时间:2014-11-07 19:26:29

标签: c debugging return break void

如果我想结束一个void函数的编译,我是否会中断或返回NULL?

这是一段返回错误的代码。

void addUser( const char *name ) {
    //create Usernode and void *data (user w/ friends)
    //check to see if User already exists
    if ( findUser(name) != NULL) {
        return;
    }
    //create data for node
    User *registeredData = malloc(sizeof(struct User_struct));  //first user Data

    registeredData->name = name;

    //create a Friends
        //put this in file create Friends

    Friends initAmigos;
    initAmigos = (Friends)malloc(sizeof(struct Friends_struct));        //NOTE: NO POINTERS HERE
    //set Friends list to Null
    initAmigos->amigos_Queue = que_create( NULL );
    registeredData->amigos = initAmigos;

    //void que_insert( QueueADT queue, void *data )
    que_insert( initAmigo , registeredData);
    printf("%s User was inerted \n", name);

}

1 个答案:

答案 0 :(得分:2)

你可以“回归”来自void函数,它停止函数的执行执行,并返回调用代码。

你说“停止编译”,这表明对执行和编译之间差异的误解。编译+链接将您的代码(完整地)转换为可以在处理器上执行的代码。然后在该处理器上“运行”功能,直到它们完成。 void函数可以通过使用没有值的return语句来表示其完成。