struct student { int id; char name[10]; };
struct student mike, lily; // 直接定義變量
struct student mike = {123, "mike"}; // 定義並初始化
student 是自定義類型名,非變量。C++ 中可省略 struct 關鍵字。
mike.id = 20130000 + mike.id;
for (int i=0; mike.name[i]; i++) mike.name[i] = toupper(mike.name[i]);
student lily = mike; // 整體賦值,逐成員拷貝(淺拷貝)
void func(student *p)。student *ps = &mike;
(*ps).id; // 方式1
ps->id; // 方式2(推薦)
struct student stu[10] = { {1, "a"}, {2, "b"} };
struct Date { int year, month, day; };
struct Student { int age; struct Date birthday; };
struct Student stu = {18, {1996, 9, 9}};
結構體類型特性與基本類型一致:可定義變量、數組、指針、作參數、返回值、賦值、取地址。善用 typedef 簡化聲明。