gcc 4.7.2
c89
こんにちは、
文字列構造の要素である別のポインタにポインタを割り当てるこの関数があります。
この文字列構造の目的は、実際の文字列の長さを取得して設定することです。
しかし、なぜ彼らが三項演算子を使用したのか理解できません。それは私には意味がありません。以外の条件はないようですstr->len = src
。これは、何も割り当てず、何も比較しません。
typedef struct tag_str_t str_t;
struct tag_str_t {
char *buf;
size_t len;
};
static void string_set(str_t *str, const char *src)
{
str->buf = (char*)src;
str->len = src ? strlen(src) : 0;
}
これを行うだけで、同じようにシンプルで読みやすくなりますか?
str->len = strlen(src);
提案をありがとう、