如果我想结束一个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);
}
答案 0 :(得分:2)
你可以“回归”来自void函数,它停止函数的执行执行,并返回调用代码。
你说“停止编译”,这表明对执行和编译之间差异的误解。编译+链接将您的代码(完整地)转换为可以在处理器上执行的代码。然后在该处理器上“运行”功能,直到它们完成。 void
函数可以通过使用没有值的return
语句来表示其完成。