是否有效的C聲明一個結構並定義{}中包含的值?是否有效的C聲明一個結構並定義{}中包含的值?
struct name new_name[] {
{"value1"},
{"value2"},
{"value3"},
}
其中:
struct name {
union {
char *value1;
} n_u;
char *value2;
}
是否有效的C聲明一個結構並定義{}中包含的值?是否有效的C聲明一個結構並定義{}中包含的值?
struct name new_name[] {
{"value1"},
{"value2"},
{"value3"},
}
其中:
struct name {
union {
char *value1;
} n_u;
char *value2;
}
因爲缺少初始化之前等號(也尾隨分號)你已經發布是無效的。否則,這是合法的,但有點難以閱讀,因爲它不會初始化每個字段,也不會使用一整套大括號。在完全支撐的初始化器中,每個數組,結構或聯合的值列表都會有一對大括號。在這種情況下,你有一個結構數組,其中有聯合體,所以應該有3個級別的支撐以達到最佳的可讀性。一切拼寫的等價物是:
struct name new_name[] = {
{{"value1"}, NULL},
{{"value2"}, NULL},
{{"value3"}, NULL},
};
將代碼發佈到您的問題中。不要讓依賴外部鏈接的問題變得有意義。更好的是,讓你的問題變得通用。絕對沒有理由鏈接到該文件。發佈相關的語法並詢問「這是否有效的語法?」 – meagar
我試圖發佈代碼,但無法獲得正確的語法來作爲問題接受。 –
將代碼縮進4個空格,或選擇它並單擊'{}'按鈕。現在,你甚至沒有提供行號,只是一個鏈接到600行文件。 – meagar