gpt4 book ai didi

c - 检查参数是否为 NULL 的好习惯

转载 作者:行者123 更新时间:2023-12-02 08:33:23 25 4
gpt4 key购买 nike

<分区>

我目前正在开发一个字符串度量库,它可以计算字符串之间的各种距离并报告字符串之间的相似程度。例如 Levenshtein 距离 ( https://en.wikipedia.org/wiki/Levenshtein_distance )。

unsigned levenshtien(const char *str1, const char *str2)
{
// check for NULL pointers
if (str1 == NULL && str2 == NULL)
return 0;

if (str1 != NULL && str2 == NULL)
return strlen(str1);

if (str1 == NULL && str2 != NULL)
return strlen(str2);

// calculate length of strings
size_t str1_len = strlen(str1);
size_t str2_len = strlen(str2);

// handle cases where one or both strings are empty
if (str1_len == 0)
return (str2_len == 0) ? 0 : 1;

// calculate stuff here...
}

库中的每个函数都传递了 const char * 指针。我想知道检查每个指针是否为 NULL 是否是常见做法?还是我应该假设使用该库的程序员会在传递指针之前进行检查?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com