- make clean
- make
- make gdb
- run
- 如果希望使用tui,可以采用layout src
if(args && *args != ‘0’)
解释
args 检查:
args 是一个指向字符的指针 (char *)。
args 为 NULL 表示没有传递额外的参数。
if(args) 检查 args 是否为 NULL。如果 args 是 NULL,整个条件表达式为假,不会执行后续的 *args != ‘0’ 检查。
*args 检查:
*args 是对 args 指针所指向的字符的解引用。
*args 为 0 表示 args 指向的字符串是空的。
if(*args != ‘0’) 检查 args 指向的字符串是否为空。
优点
安全性:先检查 args 是否为 NULL,避免在 args 为 NULL 时进行解引用操作,防止段错误(Segmentation Fault)。
完整性:确保 args 既不为 NULL 也不为空字符串。
if(*args != ‘0’)
解释
直接解引用:
*args 直接解引用 args 指针。
如果 args 是 NULL,直接解引用会导致段错误(Segmentation Fault)。
缺点
不安全:如果 args 是 NULL,直接解引用 *args 会导致程序崩溃。
不完整:只检查字符串是否为空,但不检查 args 是否为 NULL。
示例代码
安全的版本
C
深色版本
static int cmd_si(char *args){
int n = 1; // 默认执行一条指令
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/32926.html