有时候可能需要早定义结构使用struct,可以重复struct的名字,像struct名和typedef一样
//: C03:SelfReferential.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Allowing a struct to refer to itself
typedef struct SelfReferential {
int i;
SelfReferential* sr; // Head spinning yet?
} SelfReferential;
int main() {
SelfReferential sr1, sr2;
sr1.sr = &sr2;
sr2.sr = &sr1;
sr1.i = 47;
sr2.i = 1024;
} ///:~
sr1和sr2互相指向且每个都拥有一块数据
实际上,struct的名字不必和typedef名字相同
struct的名字和typedef的名字相同是为了使用类更加简单
无输出