SX_c语言查询数组下标更改参数函数_18

项目中第一个自己独立写出来的函数:

/**
 * @brief 根据cmd_table的name变量来查询并设置其usage和name变量的值
 * @param name cmd_table的name变量
 * @param usage 需要设置的新usage变量值
 * @param nname 需要设置的新name变量值
 */
void cmd_table_member_init(char* name, char* usage, char* nname) {
    int len = (sizeof(cmd_table) / sizeof(cmd_table[0])); // 获取数组长度
    int index = -1; // 初始化下标为-1,用于找到对应下标

    for (int i = 0; i < len; i++) {
        if (strcmp(cmd_table[i].name, name) == 0) { // 找到对应名字的下标则记录下标并退出循环
            index = i;
            break;
        }
    }

    if (index != -1) { // 如果找到这个标签则直接赋值
        cmd_table[index].name = nname;
        cmd_table[index].usage = usage; // 直接赋值即可
    } else { // 找不到则可能名字输入错误
        syslog(LOG_LOCAL4 | LOG_DEBUG, "cmd_table_member_init find index error, name is:%s\n", name);
    }
}

优雅,果然学算法还是很有用

你可能感兴趣的:(c语言,算法,数据结构)