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);
非常感謝您的任何建議,
謝謝,便士終於下降了。通常情況下,我總是將自己的情況放在括號內以避免混淆。 – ant2009