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);
非常感谢您的任何建议,