static void *hbla_get_realtime(void *ptr) { realtime = hbla_get_system_time_i(); while (1) { seconds_sleep(2); realtime += 2; continue; } return NULL; }为什么函数名前要加*
时间: 2024-04-27 11:20:18 浏览: 10
在这段代码中,函数名前面并没有加*,而是用了关键字static来定义该函数为静态函数。静态函数只能在定义它的源文件中被调用,不能被其他源文件使用。使用静态函数可以避免与其他文件中的同名函数发生冲突。
另外,该函数的返回值类型是void*,表示返回一个指向任意类型的指针。这样返回一个指针类型可以让函数返回更多的信息,比如在该函数中并没有实际的返回值,但是可以通过返回一个指针来让调用者获取一些信息。在这个函数中,返回值为NULL,表示函数没有返回有用的指针。
相关问题
while (1) { memset(data, 0, DATASIZE); int index = -1; int size = -1; cMNo = 0; int count = rzcj_db.getdata(&cMNo, &index, data, &size, 0); if (count <= 0 || size <= 0) { sleep(1); continue; } int ret = hbla_send_data_to_tx(cMNo, data, size); if (ret > 0) { rzcj_db.deldata(index); } }这段代码会如何跳出循环呢
这段代码是一个死循环,只有在 count 和 size 都小于等于 0 时才会执行 sleep(1) 并进入下一次循环。如果想要跳出循环,可以通过修改循环条件或者使用 break 语句来实现。例如可以在循环内部增加一个判断条件,如设置一个计数器,当达到一定的次数后跳出循环。或者加入一个条件判断语句,当满足某个条件时跳出循环。在需要跳出循环的地方,可以使用 break 语句来直接跳出循环。