結構體變量.成員名
// 多級嵌套
boy1.birthday.month
表達式類型即為成員類型,可作左值/右值使用。
boy1.num = 102;
boy1.name = "Zhang ping";
scanf("%c %f", &boy1.sex, &boy1.score);
boy2 = boy1; // 所有成員逐個拷貝
struct stu { int num; char *name; char sex; float score; }
boy2, boy1 = {102, "Zhang ping", 'M', 78.5};
main() {
static struct stu { ... } boy2, boy1 = {102, "Zhang ping", 'M', 78.5};
boy2 = boy1;
...
}
printf("Number=%d\nName=%s\n", boy2.num, boy2.name);
printf("Sex=%c\nScore=%f\n", boy2.sex, boy2.score);
| 特性 | 字符數組 | 字符指針 |
|---|---|---|
| 存儲 | 字符副本 | 字符串地址 |
| 初始化 | 需 static/外部 | 無限制 |
| 賦值 | strcpy 複製 | 直接賦值指針 |
| 修改影響 | 獨立 | 共享指向內容 |
結構體作為異構數據聚合體,其賦值、初始化、成員訪問是 C 語言數據建模的基礎操作。